Merge "Improved logging." into nyc-mr1-dev
diff --git a/Android.mk b/Android.mk
index 2c99df7..2d52854 100644
--- a/Android.mk
+++ b/Android.mk
@@ -63,6 +63,7 @@
core/java/android/accessibilityservice/IAccessibilityServiceClient.aidl \
core/java/android/accounts/IAccountManager.aidl \
core/java/android/accounts/IAccountManagerResponse.aidl \
+ core/java/android/accounts/IAccountAccessTracker.aidl \
core/java/android/accounts/IAccountAuthenticator.aidl \
core/java/android/accounts/IAccountAuthenticatorResponse.aidl \
core/java/android/app/IActivityContainer.aidl \
@@ -926,6 +927,7 @@
LOCAL_DROIDDOC_OPTIONS:=\
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+ -referenceonly \
-api $(INTERNAL_PLATFORM_API_FILE) \
-removedApi $(INTERNAL_PLATFORM_REMOVED_API_FILE) \
-nodocs
@@ -959,6 +961,7 @@
LOCAL_DROIDDOC_OPTIONS:=\
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+ -referenceonly \
-showAnnotation android.annotation.SystemApi \
-api $(INTERNAL_PLATFORM_SYSTEM_API_FILE) \
-removedApi $(INTERNAL_PLATFORM_SYSTEM_REMOVED_API_FILE) \
@@ -993,6 +996,7 @@
LOCAL_DROIDDOC_OPTIONS:=\
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+ -referenceonly \
-stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_test_stubs_current_intermediates/src \
-showAnnotation android.annotation.TestApi \
-api $(INTERNAL_PLATFORM_TEST_API_FILE) \
@@ -1026,6 +1030,7 @@
LOCAL_DROIDDOC_OPTIONS:=\
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+ -referenceonly \
-parsecomments
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
@@ -1064,7 +1069,7 @@
-sdkvalues $(OUT_DOCS) \
-hdf android.whichdoc offline
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
include $(BUILD_DROIDDOC)
@@ -1101,7 +1106,7 @@
-hdf android.whichdoc offline \
-referenceonly
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
include $(BUILD_DROIDDOC)
@@ -1139,7 +1144,7 @@
-hdf android.hasSamples true \
-samplesdir $(samples_dir)
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
include $(BUILD_DROIDDOC)
@@ -1163,6 +1168,7 @@
LOCAL_DROIDDOC_OPTIONS:= \
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+ -referenceonly \
-showAnnotation android.annotation.SystemApi \
-title "Android SDK - Including system APIs." \
-toroot / \
@@ -1206,7 +1212,7 @@
-hdf android.hasSamples true \
-samplesdir $(samples_dir)
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
include $(BUILD_DROIDDOC)
@@ -1234,7 +1240,7 @@
-devsite \
-ignoreJdLinks
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
include $(BUILD_DROIDDOC)
@@ -1259,11 +1265,10 @@
-toroot / \
-hdf android.whichdoc online \
$(sample_groups) \
- -useUpdatedTemplates \
-hdf android.hasSamples true \
-samplesdir $(samples_dir)
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
include $(BUILD_DROIDDOC)
@@ -1282,6 +1287,7 @@
LOCAL_MODULE := hidden
LOCAL_DROIDDOC_OPTIONS:=\
$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+ -referenceonly \
-title "Android SDK - Including hidden APIs."
# -hidden
diff --git a/cmds/bootanimation/audioplay.cpp b/cmds/bootanimation/audioplay.cpp
index 4983b9a..c546072 100644
--- a/cmds/bootanimation/audioplay.cpp
+++ b/cmds/bootanimation/audioplay.cpp
@@ -141,13 +141,27 @@
// configure audio source
SLDataLocator_AndroidSimpleBufferQueue loc_bufq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 1};
+ // Determine channelMask from num_channels
+ SLuint32 channelMask;
+ switch (chunkFormat->num_channels) {
+ case 1:
+ channelMask = SL_SPEAKER_FRONT_CENTER;
+ break;
+ case 2:
+ channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
+ break;
+ default:
+ // Default of 0 will derive mask from num_channels and log a warning.
+ channelMask = 0;
+ }
+
SLDataFormat_PCM format_pcm = {
SL_DATAFORMAT_PCM,
chunkFormat->num_channels,
chunkFormat->sample_rate * 1000, // convert to milliHz
chunkFormat->bits_per_sample,
16,
- SL_SPEAKER_FRONT_CENTER,
+ channelMask,
SL_BYTEORDER_LITTLEENDIAN
};
SLDataSource audioSrc = {&loc_bufq, &format_pcm};
diff --git a/cmds/wm/src/com/android/commands/wm/Wm.java b/cmds/wm/src/com/android/commands/wm/Wm.java
index f7f7c88..383cd01 100644
--- a/cmds/wm/src/com/android/commands/wm/Wm.java
+++ b/cmds/wm/src/com/android/commands/wm/Wm.java
@@ -23,6 +23,7 @@
import android.graphics.Rect;
import android.os.RemoteException;
import android.os.ServiceManager;
+import android.os.UserHandle;
import android.util.AndroidException;
import android.util.DisplayMetrics;
import android.view.Display;
@@ -201,9 +202,11 @@
try {
if (density > 0) {
// TODO(multidisplay): For now Configuration only applies to main screen.
- mWm.setForcedDisplayDensity(Display.DEFAULT_DISPLAY, density);
+ mWm.setForcedDisplayDensityForUser(Display.DEFAULT_DISPLAY, density,
+ UserHandle.USER_CURRENT);
} else {
- mWm.clearForcedDisplayDensity(Display.DEFAULT_DISPLAY);
+ mWm.clearForcedDisplayDensityForUser(Display.DEFAULT_DISPLAY,
+ UserHandle.USER_CURRENT);
}
} catch (RemoteException e) {
}
diff --git a/core/java/android/accounts/Account.java b/core/java/android/accounts/Account.java
index 7b83a30..6c16e32 100644
--- a/core/java/android/accounts/Account.java
+++ b/core/java/android/accounts/Account.java
@@ -16,9 +16,17 @@
package android.accounts;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.os.Parcelable;
import android.os.Parcel;
+import android.os.RemoteException;
import android.text.TextUtils;
+import android.util.ArraySet;
+import android.util.Log;
+import com.android.internal.annotations.GuardedBy;
+
+import java.util.Set;
/**
* Value type that represents an Account in the {@link AccountManager}. This object is
@@ -26,8 +34,14 @@
* suitable for use as the key of a {@link java.util.Map}
*/
public class Account implements Parcelable {
+ private static final String TAG = "Account";
+
+ @GuardedBy("sAccessedAccounts")
+ private static final Set<Account> sAccessedAccounts = new ArraySet<>();
+
public final String name;
public final String type;
+ private final @Nullable IAccountAccessTracker mAccessTracker;
public boolean equals(Object o) {
if (o == this) return true;
@@ -44,6 +58,20 @@
}
public Account(String name, String type) {
+ this(name, type, null);
+ }
+
+ /**
+ * @hide
+ */
+ public Account(@NonNull Account other, @Nullable IAccountAccessTracker accessTracker) {
+ this(other.name, other.type, accessTracker);
+ }
+
+ /**
+ * @hide
+ */
+ public Account(String name, String type, IAccountAccessTracker accessTracker) {
if (TextUtils.isEmpty(name)) {
throw new IllegalArgumentException("the name must not be empty: " + name);
}
@@ -52,11 +80,29 @@
}
this.name = name;
this.type = type;
+ this.mAccessTracker = accessTracker;
}
public Account(Parcel in) {
this.name = in.readString();
this.type = in.readString();
+ this.mAccessTracker = IAccountAccessTracker.Stub.asInterface(in.readStrongBinder());
+ if (mAccessTracker != null) {
+ synchronized (sAccessedAccounts) {
+ if (sAccessedAccounts.add(this)) {
+ try {
+ mAccessTracker.onAccountAccessed();
+ } catch (RemoteException e) {
+ Log.e(TAG, "Error noting account access", e);
+ }
+ }
+ }
+ }
+ }
+
+ /** @hide */
+ public IAccountAccessTracker getAccessTracker() {
+ return mAccessTracker;
}
public int describeContents() {
@@ -66,6 +112,7 @@
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeString(type);
+ dest.writeStrongInterface(mAccessTracker);
}
public static final Creator<Account> CREATOR = new Creator<Account>() {
diff --git a/core/java/android/accounts/AccountManager.java b/core/java/android/accounts/AccountManager.java
index ed08a70..632e4b9 100644
--- a/core/java/android/accounts/AccountManager.java
+++ b/core/java/android/accounts/AccountManager.java
@@ -18,7 +18,6 @@
import static android.Manifest.permission.GET_ACCOUNTS;
-import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
import android.annotation.Size;
@@ -180,6 +179,14 @@
public static final String KEY_ACCOUNT_TYPE = "accountType";
/**
+ * Bundle key used for the {@link IAccountAccessTracker} account access tracker
+ * used for noting the account was accessed when unmarshalled from a parcel.
+ *
+ * @hide
+ */
+ public static final String KEY_ACCOUNT_ACCESS_TRACKER = "accountAccessTracker";
+
+ /**
* Bundle key used for the auth token value in results
* from {@link #getAuthToken} and friends.
*/
@@ -268,13 +275,13 @@
public static final String AUTHENTICATOR_ATTRIBUTES_NAME = "account-authenticator";
/**
- * Token for the special case where a UID has access only to an account
- * but no authenticator specific auth tokens.
+ * Token type for the special case where a UID has access only to an account
+ * but no authenticator specific auth token types.
*
* @hide
*/
- public static final String ACCOUNT_ACCESS_TOKEN =
- "com.android.abbfd278-af8b-415d-af8b-7571d5dab133";
+ public static final String ACCOUNT_ACCESS_TOKEN_TYPE =
+ "com.android.AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE";
private final Context mContext;
private final IAccountManager mService;
@@ -814,7 +821,9 @@
public Account bundleToResult(Bundle bundle) throws AuthenticatorException {
String name = bundle.getString(KEY_ACCOUNT_NAME);
String type = bundle.getString(KEY_ACCOUNT_TYPE);
- return new Account(name, type);
+ IAccountAccessTracker tracker = IAccountAccessTracker.Stub.asInterface(
+ bundle.getBinder(KEY_ACCOUNT_ACCESS_TRACKER));
+ return new Account(name, type, tracker);
}
}.start();
}
@@ -2270,6 +2279,7 @@
result.putString(KEY_ACCOUNT_NAME, null);
result.putString(KEY_ACCOUNT_TYPE, null);
result.putString(KEY_AUTHTOKEN, null);
+ result.putBinder(KEY_ACCOUNT_ACCESS_TRACKER, null);
try {
mResponse.onResult(result);
} catch (RemoteException e) {
@@ -2295,9 +2305,13 @@
public void onResult(Bundle value) throws RemoteException {
Account account = new Account(
value.getString(KEY_ACCOUNT_NAME),
- value.getString(KEY_ACCOUNT_TYPE));
- mFuture = getAuthToken(account, mAuthTokenType, mLoginOptions,
- mActivity, mMyCallback, mHandler);
+ value.getString(KEY_ACCOUNT_TYPE),
+ IAccountAccessTracker.Stub.asInterface(
+ value.getBinder(
+ KEY_ACCOUNT_ACCESS_TRACKER)));
+ mFuture = getAuthToken(account, mAuthTokenType,
+ mLoginOptions, mActivity, mMyCallback,
+ mHandler);
}
@Override
@@ -2344,7 +2358,9 @@
setException(new AuthenticatorException("account not in result"));
return;
}
- final Account account = new Account(accountName, accountType);
+ final IAccountAccessTracker tracker = IAccountAccessTracker.Stub.asInterface(
+ result.getBinder(KEY_ACCOUNT_ACCESS_TRACKER));
+ final Account account = new Account(accountName, accountType, tracker);
mNumAccounts = 1;
getAuthToken(account, mAuthTokenType, null /* options */, mActivity,
mMyCallback, mHandler);
diff --git a/core/java/android/accounts/AccountManagerInternal.java b/core/java/android/accounts/AccountManagerInternal.java
index d777643..68c17c3 100644
--- a/core/java/android/accounts/AccountManagerInternal.java
+++ b/core/java/android/accounts/AccountManagerInternal.java
@@ -28,6 +28,21 @@
public abstract class AccountManagerInternal {
/**
+ * Listener for explicit UID account access grant changes.
+ */
+ public interface OnAppPermissionChangeListener {
+
+ /**
+ * Called when the explicit grant state for a given UID to
+ * access an account changes.
+ *
+ * @param account The account
+ * @param uid The UID for which the grant changed
+ */
+ public void onAppPermissionChanged(Account account, int uid);
+ }
+
+ /**
* Requests that a given package is given access to an account.
* The provided callback will be invoked with a {@link android.os.Bundle}
* containing the result which will be a boolean value mapped to the
@@ -38,7 +53,38 @@
* @param userId Concrete user id for which to request.
* @param callback A callback for receiving the result.
*/
- public abstract void requestAccountAccess(@NonNull Account account,
+ public abstract void requestAccountAccess(@NonNull Account account,
@NonNull String packageName, @IntRange(from = 0) int userId,
@NonNull RemoteCallback callback);
+
+ /**
+ * Check whether the given UID has access to the account.
+ *
+ * @param account The account
+ * @param uid The UID
+ * @return Whether the UID can access the account
+ */
+ public abstract boolean hasAccountAccess(@NonNull Account account, @IntRange(from = 0) int uid);
+
+ /**
+ * Adds a listener for explicit UID account access grant changes.
+ *
+ * @param listener The listener
+ */
+ public abstract void addOnAppPermissionChangeListener(
+ @NonNull OnAppPermissionChangeListener listener);
+
+ /**
+ * Backups the account access permissions.
+ * @param userId The user for which to backup.
+ * @return The backup data.
+ */
+ public abstract byte[] backupAccountAccessPermissions(int userId);
+
+ /**
+ * Restores the account access permissions.
+ * @param data The restore data.
+ * @param userId The user for which to restore.
+ */
+ public abstract void restoreAccountAccessPermissions(byte[] data, int userId);
}
diff --git a/core/java/android/accounts/GrantCredentialsPermissionActivity.java b/core/java/android/accounts/GrantCredentialsPermissionActivity.java
index 8d0ce58..38eab29 100644
--- a/core/java/android/accounts/GrantCredentialsPermissionActivity.java
+++ b/core/java/android/accounts/GrantCredentialsPermissionActivity.java
@@ -108,7 +108,7 @@
}
};
- if (!AccountManager.ACCOUNT_ACCESS_TOKEN.equals(mAuthTokenType)) {
+ if (!AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE.equals(mAuthTokenType)) {
AccountManager.get(this).getAuthTokenLabel(mAccount.type,
mAuthTokenType, callback, null);
}
diff --git a/core/java/android/accounts/IAccountAccessTracker.aidl b/core/java/android/accounts/IAccountAccessTracker.aidl
new file mode 100644
index 0000000..e12b3d1
--- /dev/null
+++ b/core/java/android/accounts/IAccountAccessTracker.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2016 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 android.accounts;
+
+/**
+ * Interface to track which apps accessed an account
+ *
+ * @hide
+ */
+oneway interface IAccountAccessTracker {
+ void onAccountAccessed();
+}
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 2c5f881..18677dd 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -433,8 +433,10 @@
static final class NewIntentData {
List<ReferrerIntent> intents;
IBinder token;
+ boolean andPause;
public String toString() {
- return "NewIntentData{intents=" + intents + " token=" + token + "}";
+ return "NewIntentData{intents=" + intents + " token=" + token
+ + " andPause=" + andPause +"}";
}
}
@@ -751,10 +753,12 @@
configChanges, notResumed, config, overrideConfig, true, preserveWindow);
}
- public final void scheduleNewIntent(List<ReferrerIntent> intents, IBinder token) {
+ public final void scheduleNewIntent(
+ List<ReferrerIntent> intents, IBinder token, boolean andPause) {
NewIntentData data = new NewIntentData();
data.intents = intents;
data.token = token;
+ data.andPause = andPause;
sendMessage(H.NEW_INTENT, data);
}
@@ -2787,24 +2791,34 @@
}
}
- public final void performNewIntents(IBinder token, List<ReferrerIntent> intents) {
- ActivityClientRecord r = mActivities.get(token);
- if (r != null) {
- final boolean resumed = !r.paused;
- if (resumed) {
- r.activity.mTemporaryPause = true;
- mInstrumentation.callActivityOnPause(r.activity);
- }
- deliverNewIntents(r, intents);
- if (resumed) {
- r.activity.performResume();
- r.activity.mTemporaryPause = false;
- }
+ void performNewIntents(IBinder token, List<ReferrerIntent> intents, boolean andPause) {
+ final ActivityClientRecord r = mActivities.get(token);
+ if (r == null) {
+ return;
+ }
+
+ final boolean resumed = !r.paused;
+ if (resumed) {
+ r.activity.mTemporaryPause = true;
+ mInstrumentation.callActivityOnPause(r.activity);
+ }
+ deliverNewIntents(r, intents);
+ if (resumed) {
+ r.activity.performResume();
+ r.activity.mTemporaryPause = false;
+ }
+
+ if (r.paused && andPause) {
+ // In this case the activity was in the paused state when we delivered the intent,
+ // to guarantee onResume gets called after onNewIntent we temporarily resume the
+ // activity and pause again as the caller wanted.
+ performResumeActivity(token, false, "performNewIntents");
+ performPauseActivityIfNeeded(r, "performNewIntents");
}
}
private void handleNewIntent(NewIntentData data) {
- performNewIntents(data.token, data.intents);
+ performNewIntents(data.token, data.intents, data.andPause);
}
public void handleRequestAssistContextExtras(RequestAssistContextExtras cmd) {
diff --git a/core/java/android/app/ApplicationThreadNative.java b/core/java/android/app/ApplicationThreadNative.java
index d6da3f4..05d9d7e 100644
--- a/core/java/android/app/ApplicationThreadNative.java
+++ b/core/java/android/app/ApplicationThreadNative.java
@@ -190,7 +190,8 @@
data.enforceInterface(IApplicationThread.descriptor);
List<ReferrerIntent> pi = data.createTypedArrayList(ReferrerIntent.CREATOR);
IBinder b = data.readStrongBinder();
- scheduleNewIntent(pi, b);
+ final boolean andPause = data.readInt() == 1;
+ scheduleNewIntent(pi, b, andPause);
return true;
}
@@ -909,12 +910,13 @@
data.recycle();
}
- public void scheduleNewIntent(List<ReferrerIntent> intents, IBinder token)
+ public void scheduleNewIntent(List<ReferrerIntent> intents, IBinder token, boolean andPause)
throws RemoteException {
Parcel data = Parcel.obtain();
data.writeInterfaceToken(IApplicationThread.descriptor);
data.writeTypedList(intents);
data.writeStrongBinder(token);
+ data.writeInt(andPause ? 1 : 0);
mRemote.transact(SCHEDULE_NEW_INTENT_TRANSACTION, data, null,
IBinder.FLAG_ONEWAY);
data.recycle();
diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java
index 8afca78..5dead28 100644
--- a/core/java/android/app/Fragment.java
+++ b/core/java/android/app/Fragment.java
@@ -194,7 +194,7 @@
* <div class="special reference">
* <h3>Developer Guides</h3>
* <p>For more information about using fragments, read the
- * <a href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
+ * <a href="{@docRoot}guide/components/fragments.html">Fragments</a> developer guide.</p>
* </div>
*
* <a name="OlderPlatforms"></a>
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index cd7665c..bfaf332 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -59,7 +59,7 @@
* <div class="special reference">
* <h3>Developer Guides</h3>
* <p>For more information about using fragments, read the
- * <a href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
+ * <a href="{@docRoot}guide/components/fragments.html">Fragments</a> developer guide.</p>
* </div>
*
* While the FragmentManager API was introduced in
diff --git a/core/java/android/app/IApplicationThread.java b/core/java/android/app/IApplicationThread.java
index 559f69f..3fa88ae 100644
--- a/core/java/android/app/IApplicationThread.java
+++ b/core/java/android/app/IApplicationThread.java
@@ -67,7 +67,8 @@
List<ReferrerIntent> pendingNewIntents, int configChanges, boolean notResumed,
Configuration config, Configuration overrideConfig, boolean preserveWindow)
throws RemoteException;
- void scheduleNewIntent(List<ReferrerIntent> intent, IBinder token) throws RemoteException;
+ void scheduleNewIntent(
+ List<ReferrerIntent> intent, IBinder token, boolean andPause) throws RemoteException;
void scheduleDestroyActivity(IBinder token, boolean finished,
int configChanges) throws RemoteException;
void scheduleReceiver(Intent intent, ActivityInfo info, CompatibilityInfo compatInfo,
diff --git a/core/java/android/app/ITransientNotification.aidl b/core/java/android/app/ITransientNotification.aidl
index 35b53a4..d5b3ed0 100644
--- a/core/java/android/app/ITransientNotification.aidl
+++ b/core/java/android/app/ITransientNotification.aidl
@@ -19,7 +19,7 @@
/** @hide */
oneway interface ITransientNotification {
- void show();
+ void show(IBinder windowToken);
void hide();
}
diff --git a/core/java/android/app/LocalActivityManager.java b/core/java/android/app/LocalActivityManager.java
index 2a1e3c2..3b273bc 100644
--- a/core/java/android/app/LocalActivityManager.java
+++ b/core/java/android/app/LocalActivityManager.java
@@ -314,7 +314,7 @@
ArrayList<ReferrerIntent> intents = new ArrayList<>(1);
intents.add(new ReferrerIntent(intent, mParent.getPackageName()));
if (localLOGV) Log.v(TAG, r.id + ": new intent");
- mActivityThread.performNewIntents(r, intents);
+ mActivityThread.performNewIntents(r, intents, false /* andPause */);
r.intent = intent;
moveToState(r, mCurState);
if (mSingleMode) {
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index b8c133e..688876c 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -1276,6 +1276,33 @@
public static final int PASSWORD_QUALITY_MANAGED = 0x80000;
/**
+ * @hide
+ *
+ * adb shell dpm set-{device,profile}-owner will normally not allow installing an owner to
+ * a user with accounts. {@link #ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED}
+ * and {@link #ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED} are the account features
+ * used by authenticator to exempt their accounts from this:
+ *
+ * <ul>
+ * <li>Non-test-only DO/PO still can't be installed when there are accounts.
+ * <p>In order to make an apk test-only, add android:testOnly="true" to the
+ * <application> tag in the manifest.
+ *
+ * <li>Test-only DO/PO can be installed even when there are accounts, as long as all the
+ * accounts have the {@link #ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED} feature.
+ * Some authenticators claim to have any features, so to detect it, we also check
+ * {@link #ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED} and disallow installing
+ * if any of the accounts have it.
+ * </ul>
+ */
+ public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED =
+ "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
+
+ /** @hide See {@link #ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED} */
+ public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED =
+ "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
+
+ /**
* Called by an application that is administering the device to set the password restrictions it
* is imposing. After setting this, the user will not be able to enter a new password that is
* not at least as restrictive as what has been set. Note that the current password will remain
diff --git a/core/java/android/app/package.html b/core/java/android/app/package.html
index f37f1dc..b259cad 100644
--- a/core/java/android/app/package.html
+++ b/core/java/android/app/package.html
@@ -34,7 +34,7 @@
<p>For information about using some the classes in this package, see the following
documents: <a href="{@docRoot}guide/topics/fundamentals/activities.html">Activities</a>, <a
href="{@docRoot}guide/topics/fundamentals/services.html">Services</a>, <a
-href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a>, <a
+href="{@docRoot}guide/components/fragments.html">Fragments</a>, <a
href="{@docRoot}guide/topics/ui/actionbar.html">Using the Action Bar</a>, <a
href="{@docRoot}guide/topics/ui/dialogs.html">Creating Dialogs</a>, and <a
href="{@docRoot}guide/topics/ui/notifiers/index.html">Notifying the User</a>.</p>
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index b3320d6..daa1b93 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -1877,6 +1877,7 @@
if (extras != null) {
String accountName = extras.getString(SYNC_EXTRAS_ACCOUNT);
if (!TextUtils.isEmpty(accountName)) {
+ // TODO: No references to Google in AOSP
account = new Account(accountName, "com.google");
}
extras.remove(SYNC_EXTRAS_ACCOUNT);
diff --git a/core/java/android/content/IntentFilter.java b/core/java/android/content/IntentFilter.java
index 22ab43b..d07b5457 100644
--- a/core/java/android/content/IntentFilter.java
+++ b/core/java/android/content/IntentFilter.java
@@ -265,6 +265,7 @@
public static final String SCHEME_HTTPS = "https";
private int mPriority;
+ private int mOrder;
private final ArrayList<String> mActions;
private ArrayList<String> mCategories = null;
private ArrayList<String> mDataSchemes = null;
@@ -425,6 +426,7 @@
*/
public IntentFilter(IntentFilter o) {
mPriority = o.mPriority;
+ mOrder = o.mOrder;
mActions = new ArrayList<String>(o.mActions);
if (o.mCategories != null) {
mCategories = new ArrayList<String>(o.mCategories);
@@ -477,6 +479,16 @@
return mPriority;
}
+ /** @hide */
+ public final void setOrder(int order) {
+ mOrder = order;
+ }
+
+ /** @hide */
+ public final int getOrder() {
+ return mOrder;
+ }
+
/**
* Set whether this filter will needs to be automatically verified against its data URIs or not.
* The default is false.
diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java
index d208fe7..f5bcf64 100644
--- a/core/java/android/content/pm/PackageManagerInternal.java
+++ b/core/java/android/content/pm/PackageManagerInternal.java
@@ -160,4 +160,12 @@
* Returns {@code true} if a given package can't be wiped. Otherwise, returns {@code false}.
*/
public abstract boolean isPackageDataProtected(int userId, String packageName);
+
+ /**
+ * Gets whether the package was ever launched.
+ * @param packageName The package name.
+ * @param userId The user for which to check.
+ * @return Whether was launched.
+ */
+ public abstract boolean wasPackageEverLaunched(String packageName, int userId);
}
diff --git a/core/java/android/net/LocalSocketImpl.java b/core/java/android/net/LocalSocketImpl.java
index b83fb26..0f0e9c4 100644
--- a/core/java/android/net/LocalSocketImpl.java
+++ b/core/java/android/net/LocalSocketImpl.java
@@ -516,13 +516,11 @@
Os.setsockoptLinger(fd, OsConstants.SOL_SOCKET, OsConstants.SO_LINGER, linger);
break;
case SocketOptions.SO_TIMEOUT:
- /*
- * SO_TIMEOUT from the core library gets converted to
- * SO_SNDTIMEO, but the option is supposed to set both
- * send and receive timeouts. Note: The incoming timeout
- * value is in milliseconds.
- */
+ // The option must set both send and receive timeouts.
+ // Note: The incoming timeout value is in milliseconds.
StructTimeval timeval = StructTimeval.fromMillis(intValue);
+ Os.setsockoptTimeval(fd, OsConstants.SOL_SOCKET, OsConstants.SO_RCVTIMEO,
+ timeval);
Os.setsockoptTimeval(fd, OsConstants.SOL_SOCKET, OsConstants.SO_SNDTIMEO,
timeval);
break;
diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java
index 6243f46..56eba4f 100644
--- a/core/java/android/net/NetworkCapabilities.java
+++ b/core/java/android/net/NetworkCapabilities.java
@@ -182,8 +182,15 @@
*/
public static final int NET_CAPABILITY_CAPTIVE_PORTAL = 17;
+ /**
+ * Indicates that this network is available for use by apps, and not a network that is being
+ * kept up in the background to facilitate fast network switching.
+ * @hide
+ */
+ public static final int NET_CAPABILITY_FOREGROUND = 18;
+
private static final int MIN_NET_CAPABILITY = NET_CAPABILITY_MMS;
- private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_CAPTIVE_PORTAL;
+ private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_FOREGROUND;
/**
* Network capabilities that are expected to be mutable, i.e., can change while a particular
@@ -194,7 +201,8 @@
// http://b/18206275
(1 << NET_CAPABILITY_TRUSTED) |
(1 << NET_CAPABILITY_VALIDATED) |
- (1 << NET_CAPABILITY_CAPTIVE_PORTAL);
+ (1 << NET_CAPABILITY_CAPTIVE_PORTAL) |
+ (1 << NET_CAPABILITY_FOREGROUND);
/**
* Network specifier for factories which want to match any network specifier
@@ -217,8 +225,7 @@
* get immediately torn down because they do not have the requested capability.
*/
private static final long NON_REQUESTABLE_CAPABILITIES =
- (1 << NET_CAPABILITY_VALIDATED) |
- (1 << NET_CAPABILITY_CAPTIVE_PORTAL);
+ MUTABLE_CAPABILITIES & ~(1 << NET_CAPABILITY_TRUSTED);
/**
* Capabilities that are set by default when the object is constructed.
@@ -325,6 +332,7 @@
public String describeFirstNonRequestableCapability() {
if (hasCapability(NET_CAPABILITY_VALIDATED)) return "NET_CAPABILITY_VALIDATED";
if (hasCapability(NET_CAPABILITY_CAPTIVE_PORTAL)) return "NET_CAPABILITY_CAPTIVE_PORTAL";
+ if (hasCapability(NET_CAPABILITY_FOREGROUND)) return "NET_CAPABILITY_FOREGROUND";
// This cannot happen unless the preceding checks are incomplete.
if ((mNetworkCapabilities & NON_REQUESTABLE_CAPABILITIES) != 0) {
return "unknown non-requestable capabilities " + Long.toHexString(mNetworkCapabilities);
@@ -352,6 +360,11 @@
(that.mNetworkCapabilities & ~MUTABLE_CAPABILITIES));
}
+ private boolean equalsNetCapabilitiesRequestable(NetworkCapabilities that) {
+ return ((this.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES) ==
+ (that.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES));
+ }
+
/**
* Removes the NET_CAPABILITY_NOT_RESTRICTED capability if all the capabilities it provides are
* typically provided by restricted networks.
@@ -749,6 +762,19 @@
equalsSpecifier(nc));
}
+ /**
+ * Checks that our requestable capabilities are the same as those of the given
+ * {@code NetworkCapabilities}.
+ *
+ * @hide
+ */
+ public boolean equalRequestableCapabilities(NetworkCapabilities nc) {
+ if (nc == null) return false;
+ return (equalsNetCapabilitiesRequestable(nc) &&
+ equalsTransportTypes(nc) &&
+ equalsSpecifier(nc));
+ }
+
@Override
public boolean equals(Object obj) {
if (obj == null || (obj instanceof NetworkCapabilities == false)) return false;
@@ -833,6 +859,7 @@
case NET_CAPABILITY_NOT_VPN: capabilities += "NOT_VPN"; break;
case NET_CAPABILITY_VALIDATED: capabilities += "VALIDATED"; break;
case NET_CAPABILITY_CAPTIVE_PORTAL: capabilities += "CAPTIVE_PORTAL"; break;
+ case NET_CAPABILITY_FOREGROUND: capabilities += "FOREGROUND"; break;
}
if (++i < types.length) capabilities += "&";
}
diff --git a/core/java/android/net/NetworkRequest.java b/core/java/android/net/NetworkRequest.java
index 4501f7b..ae72470 100644
--- a/core/java/android/net/NetworkRequest.java
+++ b/core/java/android/net/NetworkRequest.java
@@ -49,7 +49,7 @@
public final int legacyType;
/**
- * A NetworkRequest as used by the system can be one of three types:
+ * A NetworkRequest as used by the system can be one of the following types:
*
* - LISTEN, for which the framework will issue callbacks about any
* and all networks that match the specified NetworkCapabilities,
@@ -64,7 +64,20 @@
* current network (if any) that matches the capabilities of the
* default Internet request (mDefaultRequest), but which cannot cause
* the framework to either create or retain the existence of any
- * specific network.
+ * specific network. Note that from the point of view of the request
+ * matching code, TRACK_DEFAULT is identical to REQUEST: its special
+ * behaviour is not due to different semantics, but to the fact that
+ * the system will only ever create a TRACK_DEFAULT with capabilities
+ * that are identical to the default request's capabilities, thus
+ * causing it to share fate in every way with the default request.
+ *
+ * - BACKGROUND_REQUEST, like REQUEST but does not cause any networks
+ * to retain the NET_CAPABILITY_FOREGROUND capability. A network with
+ * no foreground requests is in the background. A network that has
+ * one or more background requests and loses its last foreground
+ * request to a higher-scoring network will not go into the
+ * background immediately, but will linger and go into the background
+ * after the linger timeout.
*
* - The value NONE is used only by applications. When an application
* creates a NetworkRequest, it does not have a type; the type is set
@@ -77,7 +90,8 @@
NONE,
LISTEN,
TRACK_DEFAULT,
- REQUEST
+ REQUEST,
+ BACKGROUND_REQUEST,
};
/**
@@ -140,7 +154,7 @@
* Add the given capability requirement to this builder. These represent
* the requested network's required capabilities. Note that when searching
* for a network to satisfy a request, all capabilities requested must be
- * satisfied. See {@link NetworkCapabilities} for {@code NET_CAPABILITIY_*}
+ * satisfied. See {@link NetworkCapabilities} for {@code NET_CAPABILITY_*}
* definitions.
*
* @param capability The {@code NetworkCapabilities.NET_CAPABILITY_*} to add.
@@ -284,7 +298,7 @@
};
/**
- * Returns true iff. the contained NetworkRequest is of type LISTEN.
+ * Returns true iff. this NetworkRequest is of type LISTEN.
*
* @hide
*/
@@ -298,8 +312,9 @@
* - should be associated with at most one satisfying network
* at a time;
*
- * - should cause a network to be kept up if it is the best network
- * which can satisfy the NetworkRequest.
+ * - should cause a network to be kept up, but not necessarily in
+ * the foreground, if it is the best network which can satisfy the
+ * NetworkRequest.
*
* For full detail of how isRequest() is used for pairing Networks with
* NetworkRequests read rematchNetworkAndRequests().
@@ -307,9 +322,36 @@
* @hide
*/
public boolean isRequest() {
+ return isForegroundRequest() || isBackgroundRequest();
+ }
+
+ /**
+ * Returns true iff. the contained NetworkRequest is one that:
+ *
+ * - should be associated with at most one satisfying network
+ * at a time;
+ *
+ * - should cause a network to be kept up and in the foreground if
+ * it is the best network which can satisfy the NetworkRequest.
+ *
+ * For full detail of how isRequest() is used for pairing Networks with
+ * NetworkRequests read rematchNetworkAndRequests().
+ *
+ * @hide
+ */
+ public boolean isForegroundRequest() {
return type == Type.TRACK_DEFAULT || type == Type.REQUEST;
}
+ /**
+ * Returns true iff. this NetworkRequest is of type BACKGROUND_REQUEST.
+ *
+ * @hide
+ */
+ public boolean isBackgroundRequest() {
+ return type == Type.BACKGROUND_REQUEST;
+ }
+
public String toString() {
return "NetworkRequest [ " + type + " id=" + requestId +
(legacyType != ConnectivityManager.TYPE_NONE ? ", legacyType=" + legacyType : "") +
diff --git a/core/java/android/os/Trace.java b/core/java/android/os/Trace.java
index 9e8103a..3ae28fd 100644
--- a/core/java/android/os/Trace.java
+++ b/core/java/android/os/Trace.java
@@ -81,6 +81,8 @@
public static final long TRACE_TAG_SYSTEM_SERVER = 1L << 19;
/** @hide */
public static final long TRACE_TAG_DATABASE = 1L << 20;
+ /** @hide */
+ public static final long TRACE_TAG_NETWORK = 1L << 21;
private static final long TRACE_TAG_NOT_READY = 1L << 63;
private static final int MAX_SECTION_NAME_LEN = 127;
diff --git a/core/java/android/security/net/config/DirectoryCertificateSource.java b/core/java/android/security/net/config/DirectoryCertificateSource.java
index e3c9d65..119f5d0 100644
--- a/core/java/android/security/net/config/DirectoryCertificateSource.java
+++ b/core/java/android/security/net/config/DirectoryCertificateSource.java
@@ -19,6 +19,7 @@
import android.os.Environment;
import android.os.UserHandle;
import android.util.ArraySet;
+import android.util.Log;
import android.util.Pair;
import java.io.BufferedInputStream;
import java.io.File;
@@ -44,6 +45,7 @@
* @hide
*/
abstract class DirectoryCertificateSource implements CertificateSource {
+ private static final String LOG_TAG = "DirectoryCertificateSrc";
private final File mDir;
private final Object mLock = new Object();
private final CertificateFactory mCertFactory;
@@ -149,6 +151,9 @@
continue;
}
X509Certificate cert = readCertificate(fileName);
+ if (cert == null) {
+ continue;
+ }
if (!subj.equals(cert.getSubjectX500Principal())) {
continue;
}
@@ -173,6 +178,9 @@
continue;
}
X509Certificate cert = readCertificate(fileName);
+ if (cert == null) {
+ continue;
+ }
if (!subj.equals(cert.getSubjectX500Principal())) {
continue;
}
@@ -194,6 +202,7 @@
is = new BufferedInputStream(new FileInputStream(new File(mDir, file)));
return (X509Certificate) mCertFactory.generateCertificate(is);
} catch (CertificateException | IOException e) {
+ Log.e(LOG_TAG, "Failed to read certificate from " + file, e);
return null;
} finally {
IoUtils.closeQuietly(is);
diff --git a/core/java/android/util/PackageUtils.java b/core/java/android/util/PackageUtils.java
new file mode 100644
index 0000000..6531aef
--- /dev/null
+++ b/core/java/android/util/PackageUtils.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2016 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 android.util;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.Signature;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+/**
+ * Helper functions applicable to packages.
+ * @hide
+ */
+public final class PackageUtils {
+ private final static char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
+
+ private PackageUtils() {
+ /* hide constructor */
+ }
+
+ /**
+ * Computes the SHA256 digest of the signing cert for a package.
+ * @param packageManager The package manager.
+ * @param packageName The package for which to generate the digest.
+ * @param userId The user for which to generate the digest.
+ * @return The digest or null if the package does not exist for this user.
+ */
+ public static @Nullable String computePackageCertSha256Digest(
+ @NonNull PackageManager packageManager,
+ @NonNull String packageName, int userId) {
+ final PackageInfo packageInfo;
+ try {
+ packageInfo = packageManager.getPackageInfoAsUser(packageName,
+ PackageManager.GET_SIGNATURES, userId);
+ } catch (PackageManager.NameNotFoundException e) {
+ return null;
+ }
+ return computeCertSha256Digest(packageInfo.signatures[0]);
+ }
+
+ /**
+ * Computes the SHA256 digest of a cert.
+ * @param signature The signature.
+ * @return The digest or null if an error occurs.
+ */
+ public static @Nullable String computeCertSha256Digest(@NonNull Signature signature) {
+ return computeSha256Digest(signature.toByteArray());
+ }
+
+ /**
+ * Computes the SHA256 digest of some data.
+ * @param data The data.
+ * @return The digest or null if an error occurs.
+ */
+ public static @Nullable String computeSha256Digest(@NonNull byte[] data) {
+ MessageDigest messageDigest;
+ try {
+ messageDigest = MessageDigest.getInstance("SHA256");
+ } catch (NoSuchAlgorithmException e) {
+ /* can't happen */
+ return null;
+ }
+
+ messageDigest.update(data);
+
+ final byte[] digest = messageDigest.digest();
+ final int digestLength = digest.length;
+ final int charCount = 2 * digestLength;
+
+ final char[] chars = new char[charCount];
+ for (int i = 0; i < digestLength; i++) {
+ final int byteHex = digest[i] & 0xFF;
+ chars[i * 2] = HEX_ARRAY[byteHex >>> 4];
+ chars[i * 2 + 1] = HEX_ARRAY[byteHex & 0x0F];
+ }
+ return new String(chars);
+ }
+}
diff --git a/core/java/android/view/DragEvent.java b/core/java/android/view/DragEvent.java
index b0f15b5..a394f35 100644
--- a/core/java/android/view/DragEvent.java
+++ b/core/java/android/view/DragEvent.java
@@ -377,6 +377,10 @@
* The object is intended to provide local information about the drag and drop operation. For
* example, it can indicate whether the drag and drop operation is a copy or a move.
* <p>
+ * The local state is available only to views in the activity which has started the drag
+ * operation. In all other activities this method will return null
+ * </p>
+ * <p>
* This method returns valid data for all event actions except for {@link #ACTION_DRAG_ENDED}.
* </p>
* @return The local state object sent to the system by startDrag().
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index 81469c8..83feb88 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -73,8 +73,8 @@
void clearForcedDisplaySize(int displayId);
int getInitialDisplayDensity(int displayId);
int getBaseDisplayDensity(int displayId);
- void setForcedDisplayDensity(int displayId, int density);
- void clearForcedDisplayDensity(int displayId);
+ void setForcedDisplayDensityForUser(int displayId, int density, int userId);
+ void clearForcedDisplayDensityForUser(int displayId, int userId);
void setForcedDisplayScalingMode(int displayId, int mode); // 0 = auto, 1 = disable
void setOverscan(int displayId, int left, int top, int right, int bottom);
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index e0ac7ed..8a16d63 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -115,6 +115,7 @@
final Rect mStableInsets = new Rect();
final Rect mOutsets = new Rect();
final Rect mBackdropFrame = new Rect();
+ final Rect mTmpRect = new Rect();
final Configuration mConfiguration = new Configuration();
static final int KEEP_SCREEN_ON_MSG = 1;
@@ -227,6 +228,7 @@
mSession = getWindowSession();
mLayout.token = getWindowToken();
mLayout.setTitle("SurfaceView - " + getViewRootImpl().getTitle());
+ mLayout.packageName = mContext.getOpPackageName();
mViewVisibility = getVisibility() == VISIBLE;
if (!mGlobalListenersAdded) {
@@ -660,21 +662,21 @@
transformFromViewToWindowSpace(mLocation);
- mWinFrame.set(mWindowSpaceLeft, mWindowSpaceTop,
+ mTmpRect.set(mWindowSpaceLeft, mWindowSpaceTop,
mLocation[0], mLocation[1]);
if (mTranslator != null) {
- mTranslator.translateRectInAppWindowToScreen(mWinFrame);
+ mTranslator.translateRectInAppWindowToScreen(mTmpRect);
}
if (!isHardwareAccelerated() || !mRtHandlingPositionUpdates) {
try {
if (DEBUG) Log.d(TAG, String.format("%d updateWindowPosition UI, " +
"postion = [%d, %d, %d, %d]", System.identityHashCode(this),
- mWinFrame.left, mWinFrame.top,
- mWinFrame.right, mWinFrame.bottom));
- mSession.repositionChild(mWindow, mWinFrame.left, mWinFrame.top,
- mWinFrame.right, mWinFrame.bottom, -1, mWinFrame);
+ mTmpRect.left, mTmpRect.top,
+ mTmpRect.right, mTmpRect.bottom));
+ mSession.repositionChild(mWindow, mTmpRect.left, mTmpRect.top,
+ mTmpRect.right, mTmpRect.bottom, -1, mTmpRect);
} catch (RemoteException ex) {
Log.e(TAG, "Exception from relayout", ex);
}
@@ -686,10 +688,10 @@
private Rect mRTLastReportedPosition = new Rect();
/**
- * Called by native on RenderThread to update the window position
+ * Called by native by a Rendering Worker thread to update the window position
* @hide
*/
- public final void updateWindowPositionRT(long frameNumber,
+ public final void updateWindowPosition_renderWorker(long frameNumber,
int left, int top, int right, int bottom) {
IWindowSession session = mSession;
MyWindow window = mWindow;
@@ -714,7 +716,7 @@
}
try {
if (DEBUG) {
- Log.d(TAG, String.format("%d updateWindowPosition RT, frameNr = %d, " +
+ Log.d(TAG, String.format("%d updateWindowPosition RenderWorker, frameNr = %d, " +
"postion = [%d, %d, %d, %d]", System.identityHashCode(this),
frameNumber, left, top, right, bottom));
}
@@ -731,12 +733,12 @@
/**
* Called by native on RenderThread to notify that the window is no longer in the
- * draw tree
+ * draw tree. UI thread is blocked at this point.
* @hide
*/
- public final void windowPositionLostRT(long frameNumber) {
+ public final void windowPositionLost_uiRtSync(long frameNumber) {
if (DEBUG) {
- Log.d(TAG, String.format("%d windowPositionLostRT RT, frameNr = %d",
+ Log.d(TAG, String.format("%d windowPositionLost, frameNr = %d",
System.identityHashCode(this), frameNumber));
}
IWindowSession session = mSession;
@@ -751,14 +753,18 @@
// safely access other member variables at this time.
// So do what the UI thread would have done if RT wasn't handling position
// updates.
- if (!mWinFrame.isEmpty() && !mWinFrame.equals(mRTLastReportedPosition)) {
+ mTmpRect.set(mLayout.x, mLayout.y,
+ mLayout.x + mLayout.width,
+ mLayout.y + mLayout.height);
+
+ if (!mTmpRect.isEmpty() && !mTmpRect.equals(mRTLastReportedPosition)) {
try {
if (DEBUG) Log.d(TAG, String.format("%d updateWindowPosition, " +
"postion = [%d, %d, %d, %d]", System.identityHashCode(this),
- mWinFrame.left, mWinFrame.top,
- mWinFrame.right, mWinFrame.bottom));
- session.repositionChild(window, mWinFrame.left, mWinFrame.top,
- mWinFrame.right, mWinFrame.bottom, frameNumber, mWinFrame);
+ mTmpRect.left, mTmpRect.top,
+ mTmpRect.right, mTmpRect.bottom));
+ session.repositionChild(window, mTmpRect.left, mTmpRect.top,
+ mTmpRect.right, mTmpRect.bottom, frameNumber, mWinFrame);
} catch (RemoteException ex) {
Log.e(TAG, "Exception from relayout", ex);
}
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index 52b5cf8..645ab5c 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -720,7 +720,7 @@
/**
* Set the {@link SurfaceTexture} for this view to use. If a {@link
* SurfaceTexture} is already being used by this view, it is immediately
- * released and not be usable any more. The {@link
+ * released and not usable any more. The {@link
* SurfaceTextureListener#onSurfaceTextureDestroyed} callback is <b>not</b>
* called for the previous {@link SurfaceTexture}. Similarly, the {@link
* SurfaceTextureListener#onSurfaceTextureAvailable} callback is <b>not</b>
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 908658f..a0afeba 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -20655,8 +20655,10 @@
* @param shadowBuilder A {@link android.view.View.DragShadowBuilder} object for building the
* drag shadow.
* @param myLocalState An {@link java.lang.Object} containing local data about the drag and
- * drop operation. This Object is put into every DragEvent object sent by the system during the
- * current drag.
+ * drop operation. When dispatching drag events to views in the same activity this object
+ * will be available through {@link android.view.DragEvent#getLocalState()}. Views in other
+ * activities will not have access to this data ({@link android.view.DragEvent#getLocalState()}
+ * will return null).
* <p>
* myLocalState is a lightweight mechanism for the sending information from the dragged View
* to the target Views. For example, it can contain flags that differentiate between a
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 1bb4c08..1d541f6 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -2167,7 +2167,12 @@
}
if (changedVisibility || regainedFocus) {
- host.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
+ // Toasts are presented as notifications - don't present them as windows as well
+ boolean isToast = (mWindowAttributes == null) ? false
+ : (mWindowAttributes.type == WindowManager.LayoutParams.TYPE_TOAST);
+ if (!isToast) {
+ host.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
+ }
}
mFirst = false;
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index 0dbf00d..395f738 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -1752,14 +1752,18 @@
public CharSequence accessibilityTitle;
/**
- * Sets a timeout in milliseconds before which the window will be removed
+ * Sets a timeout in milliseconds before which the window will be hidden
* by the window manager. Useful for transient notifications like toasts
* so we don't have to rely on client cooperation to ensure the window
- * is removed. Must be specified at window creation time.
+ * is hidden. Must be specified at window creation time. Note that apps
+ * are not prepared to handle their windows being removed without their
+ * explicit request and may try to interact with the removed window
+ * resulting in undefined behavior and crashes. Therefore, we do hide
+ * such windows to prevent them from overlaying other apps.
*
* @hide
*/
- public long removeTimeoutMilliseconds = -1;
+ public long hideTimeoutMilliseconds = -1;
public LayoutParams() {
super(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
@@ -1895,7 +1899,7 @@
out.writeInt(needsMenuKey);
out.writeInt(accessibilityIdOfAnchor);
TextUtils.writeToParcel(accessibilityTitle, out, parcelableFlags);
- out.writeLong(removeTimeoutMilliseconds);
+ out.writeLong(hideTimeoutMilliseconds);
}
public static final Parcelable.Creator<LayoutParams> CREATOR
@@ -1949,7 +1953,7 @@
needsMenuKey = in.readInt();
accessibilityIdOfAnchor = in.readInt();
accessibilityTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
- removeTimeoutMilliseconds = in.readLong();
+ hideTimeoutMilliseconds = in.readLong();
}
@SuppressWarnings({"PointlessBitwiseExpression"})
@@ -2171,7 +2175,7 @@
}
// This can't change, it's only set at window creation time.
- removeTimeoutMilliseconds = o.removeTimeoutMilliseconds;
+ hideTimeoutMilliseconds = o.hideTimeoutMilliseconds;
return changes;
}
diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java
index c3ddec7..25580fd 100644
--- a/core/java/android/widget/NumberPicker.java
+++ b/core/java/android/widget/NumberPicker.java
@@ -16,6 +16,8 @@
package android.widget;
+import com.android.internal.R;
+
import android.annotation.CallSuper;
import android.annotation.IntDef;
import android.annotation.Widget;
@@ -29,10 +31,12 @@
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
+import android.text.Editable;
import android.text.InputFilter;
import android.text.InputType;
import android.text.Spanned;
import android.text.TextUtils;
+import android.text.TextWatcher;
import android.text.method.NumberKeyListener;
import android.util.AttributeSet;
import android.util.SparseArray;
@@ -52,9 +56,6 @@
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
-import com.android.internal.R;
-import libcore.icu.LocaleData;
-
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -62,6 +63,8 @@
import java.util.List;
import java.util.Locale;
+import libcore.icu.LocaleData;
+
/**
* A widget that enables the user to select a number from a predefined range.
* There are two flavors of this widget and which one is presented to the user
@@ -1991,7 +1994,7 @@
removeCallbacks(mChangeCurrentByOneFromLongPressCommand);
}
if (mSetSelectionCommand != null) {
- removeCallbacks(mSetSelectionCommand);
+ mSetSelectionCommand.cancel();
}
if (mBeginSoftInputOnLongPressCommand != null) {
removeCallbacks(mBeginSoftInputOnLongPressCommand);
@@ -2033,18 +2036,14 @@
}
/**
- * Posts an {@link SetSelectionCommand} from the given <code>selectionStart
- * </code> to <code>selectionEnd</code>.
+ * Posts a {@link SetSelectionCommand} from the given
+ * {@code selectionStart} to {@code selectionEnd}.
*/
private void postSetSelectionCommand(int selectionStart, int selectionEnd) {
if (mSetSelectionCommand == null) {
- mSetSelectionCommand = new SetSelectionCommand();
- } else {
- removeCallbacks(mSetSelectionCommand);
+ mSetSelectionCommand = new SetSelectionCommand(mInputText);
}
- mSetSelectionCommand.mSelectionStart = selectionStart;
- mSetSelectionCommand.mSelectionEnd = selectionEnd;
- post(mSetSelectionCommand);
+ mSetSelectionCommand.post(selectionStart, selectionEnd);
}
/**
@@ -2090,6 +2089,12 @@
@Override
public CharSequence filter(
CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
+ // We don't know what the output will be, so always cancel any
+ // pending set selection command.
+ if (mSetSelectionCommand != null) {
+ mSetSelectionCommand.cancel();
+ }
+
if (mDisplayedValues == null) {
CharSequence filtered = super.filter(source, start, end, dest, dstart, dend);
if (filtered == null) {
@@ -2237,12 +2242,39 @@
/**
* Command for setting the input text selection.
*/
- class SetSelectionCommand implements Runnable {
- private int mSelectionStart;
+ private static class SetSelectionCommand implements Runnable {
+ private final EditText mInputText;
+ private int mSelectionStart;
private int mSelectionEnd;
+ /** Whether this runnable is currently posted. */
+ private boolean mPosted;
+
+ public SetSelectionCommand(EditText inputText) {
+ mInputText = inputText;
+ }
+
+ public void post(int selectionStart, int selectionEnd) {
+ mSelectionStart = selectionStart;
+ mSelectionEnd = selectionEnd;
+
+ if (!mPosted) {
+ mInputText.post(this);
+ mPosted = true;
+ }
+ }
+
+ public void cancel() {
+ if (mPosted) {
+ mInputText.removeCallbacks(this);
+ mPosted = false;
+ }
+ }
+
+ @Override
public void run() {
+ mPosted = false;
mInputText.setSelection(mSelectionStart, mSelectionEnd);
}
}
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java
index b12c03c..9b89491 100644
--- a/core/java/android/widget/PopupWindow.java
+++ b/core/java/android/widget/PopupWindow.java
@@ -1758,11 +1758,22 @@
*/
public int getMaxAvailableHeight(
@NonNull View anchor, int yOffset, boolean ignoreBottomDecorations) {
- final Rect displayFrame = new Rect();
+ Rect displayFrame = null;
+ final Rect visibleDisplayFrame = new Rect();
+
+ anchor.getWindowVisibleDisplayFrame(visibleDisplayFrame);
if (ignoreBottomDecorations) {
+ // In the ignore bottom decorations case we want to
+ // still respect all other decorations so we use the inset visible
+ // frame on the top right and left and take the bottom
+ // value from the full frame.
+ displayFrame = new Rect();
anchor.getWindowDisplayFrame(displayFrame);
+ displayFrame.top = visibleDisplayFrame.top;
+ displayFrame.right = visibleDisplayFrame.right;
+ displayFrame.left = visibleDisplayFrame.left;
} else {
- anchor.getWindowVisibleDisplayFrame(displayFrame);
+ displayFrame = visibleDisplayFrame;
}
final int[] anchorPos = mTmpDrawingLocation;
diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java
index 5878cad..9139361 100644
--- a/core/java/android/widget/SearchView.java
+++ b/core/java/android/widget/SearchView.java
@@ -816,9 +816,11 @@
switch (heightMode) {
case MeasureSpec.AT_MOST:
- case MeasureSpec.UNSPECIFIED:
height = Math.min(getPreferredHeight(), height);
break;
+ case MeasureSpec.UNSPECIFIED:
+ height = getPreferredHeight();
+ break;
}
heightMode = MeasureSpec.EXACTLY;
diff --git a/core/java/android/widget/Toast.java b/core/java/android/widget/Toast.java
index 7762675..a400d90 100644
--- a/core/java/android/widget/Toast.java
+++ b/core/java/android/widget/Toast.java
@@ -25,6 +25,8 @@
import android.content.res.Resources;
import android.graphics.PixelFormat;
import android.os.Handler;
+import android.os.IBinder;
+import android.os.Message;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;
@@ -326,13 +328,6 @@
}
private static class TN extends ITransientNotification.Stub {
- final Runnable mShow = new Runnable() {
- @Override
- public void run() {
- handleShow();
- }
- };
-
final Runnable mHide = new Runnable() {
@Override
public void run() {
@@ -343,7 +338,13 @@
};
private final WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();
- final Handler mHandler = new Handler();
+ final Handler mHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ IBinder token = (IBinder) msg.obj;
+ handleShow(token);
+ }
+ };
int mGravity;
int mX, mY;
@@ -379,9 +380,9 @@
* schedule handleShow into the right thread
*/
@Override
- public void show() {
+ public void show(IBinder windowToken) {
if (localLOGV) Log.v(TAG, "SHOW: " + this);
- mHandler.post(mShow);
+ mHandler.obtainMessage(0, windowToken).sendToTarget();
}
/**
@@ -393,7 +394,7 @@
mHandler.post(mHide);
}
- public void handleShow() {
+ public void handleShow(IBinder windowToken) {
if (localLOGV) Log.v(TAG, "HANDLE SHOW: " + this + " mView=" + mView
+ " mNextView=" + mNextView);
if (mView != mNextView) {
@@ -422,8 +423,9 @@
mParams.verticalMargin = mVerticalMargin;
mParams.horizontalMargin = mHorizontalMargin;
mParams.packageName = packageName;
- mParams.removeTimeoutMilliseconds = mDuration ==
+ mParams.hideTimeoutMilliseconds = mDuration ==
Toast.LENGTH_LONG ? LONG_DURATION_TIMEOUT : SHORT_DURATION_TIMEOUT;
+ mParams.token = windowToken;
if (mView.getParent() != null) {
if (localLOGV) Log.v(TAG, "REMOVE! " + mView + " in " + this);
mWM.removeView(mView);
@@ -458,7 +460,7 @@
// the view isn't yet added, so let's try not to crash.
if (mView.getParent() != null) {
if (localLOGV) Log.v(TAG, "REMOVE! " + mView + " in " + this);
- mWM.removeView(mView);
+ mWM.removeViewImmediate(mView);
}
mView = null;
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index 0a4ac0d..1e26c92 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -1469,7 +1469,7 @@
boolean found = false;
// Only loop to the end of into as it was before we started; no dupes in from.
for (int j = 0; j < intoCount; j++) {
- final ResolvedComponentInfo rci = into.get(i);
+ final ResolvedComponentInfo rci = into.get(j);
if (isSameResolvedComponent(newInfo, rci)) {
found = true;
rci.add(intent, newInfo);
diff --git a/core/java/com/android/internal/app/SuggestedLocaleAdapter.java b/core/java/com/android/internal/app/SuggestedLocaleAdapter.java
index a4b5a8e..cb2b019 100644
--- a/core/java/com/android/internal/app/SuggestedLocaleAdapter.java
+++ b/core/java/com/android/internal/app/SuggestedLocaleAdapter.java
@@ -145,7 +145,11 @@
if (itemType == TYPE_HEADER_SUGGESTED) {
textView.setText(R.string.language_picker_section_suggested);
} else {
- textView.setText(R.string.language_picker_section_all);
+ if (mCountryMode) {
+ textView.setText(R.string.region_picker_section_all);
+ } else {
+ textView.setText(R.string.language_picker_section_all);
+ }
}
textView.setTextLocale(Locale.getDefault());
break;
diff --git a/core/java/com/android/internal/util/WakeupMessage.java b/core/java/com/android/internal/util/WakeupMessage.java
index 7d222c7..46098c5 100644
--- a/core/java/com/android/internal/util/WakeupMessage.java
+++ b/core/java/com/android/internal/util/WakeupMessage.java
@@ -108,7 +108,7 @@
}
if (stillScheduled) {
Message msg = mHandler.obtainMessage(mCmd, mArg1, mArg2, mObj);
- mHandler.handleMessage(msg);
+ mHandler.dispatchMessage(msg);
msg.recycle();
}
}
diff --git a/core/java/com/android/server/backup/AccountManagerBackupHelper.java b/core/java/com/android/server/backup/AccountManagerBackupHelper.java
new file mode 100644
index 0000000..39b18c0
--- /dev/null
+++ b/core/java/com/android/server/backup/AccountManagerBackupHelper.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.backup;
+
+import android.accounts.AccountManagerInternal;
+import android.app.backup.BlobBackupHelper;
+import android.os.UserHandle;
+import android.util.Slog;
+import com.android.server.LocalServices;
+
+/**
+ * Helper for handling backup of account manager specific state.
+ */
+public class AccountManagerBackupHelper extends BlobBackupHelper {
+ private static final String TAG = "AccountsBackup";
+ private static final boolean DEBUG = false;
+
+ // current schema of the backup state blob
+ private static final int STATE_VERSION = 1;
+
+ // key under which the account access grant state blob is committed to backup
+ private static final String KEY_ACCOUNT_ACCESS_GRANTS = "account_access_grants";
+
+ public AccountManagerBackupHelper() {
+ super(STATE_VERSION, KEY_ACCOUNT_ACCESS_GRANTS);
+ }
+
+ @Override
+ protected byte[] getBackupPayload(String key) {
+ AccountManagerInternal am = LocalServices.getService(AccountManagerInternal.class);
+ if (DEBUG) {
+ Slog.d(TAG, "Handling backup of " + key);
+ }
+ try {
+ switch (key) {
+ case KEY_ACCOUNT_ACCESS_GRANTS: {
+ return am.backupAccountAccessPermissions(UserHandle.USER_SYSTEM);
+ }
+
+ default: {
+ Slog.w(TAG, "Unexpected backup key " + key);
+ }
+ }
+ } catch (Exception e) {
+ Slog.e(TAG, "Unable to store payload " + key);
+ }
+
+ return new byte[0];
+ }
+
+ @Override
+ protected void applyRestoredPayload(String key, byte[] payload) {
+ AccountManagerInternal am = LocalServices.getService(AccountManagerInternal.class);
+ if (DEBUG) {
+ Slog.d(TAG, "Handling restore of " + key);
+ }
+ try {
+ switch (key) {
+ case KEY_ACCOUNT_ACCESS_GRANTS: {
+ am.restoreAccountAccessPermissions(payload, UserHandle.USER_SYSTEM);
+ } break;
+
+ default: {
+ Slog.w(TAG, "Unexpected restore key " + key);
+ }
+ }
+ } catch (Exception e) {
+ Slog.w(TAG, "Unable to restore key " + key);
+ }
+ }
+}
diff --git a/core/java/com/android/server/backup/SystemBackupAgent.java b/core/java/com/android/server/backup/SystemBackupAgent.java
index 9d296fa..5375651 100644
--- a/core/java/com/android/server/backup/SystemBackupAgent.java
+++ b/core/java/com/android/server/backup/SystemBackupAgent.java
@@ -49,6 +49,7 @@
private static final String PERMISSION_HELPER = "permissions";
private static final String USAGE_STATS_HELPER = "usage_stats";
private static final String SHORTCUT_MANAGER_HELPER = "shortcut_manager";
+ private static final String ACCOUNT_MANAGER_HELPER = "account_manager";
// These paths must match what the WallpaperManagerService uses. The leaf *_FILENAME
// are also used in the full-backup file format, so must not change unless steps are
@@ -82,6 +83,7 @@
addHelper(PERMISSION_HELPER, new PermissionBackupHelper());
addHelper(USAGE_STATS_HELPER, new UsageStatsBackupHelper(this));
addHelper(SHORTCUT_MANAGER_HELPER, new ShortcutBackupHelper());
+ addHelper(ACCOUNT_MANAGER_HELPER, new AccountManagerBackupHelper());
super.onBackup(oldState, data, newState);
}
@@ -111,6 +113,7 @@
addHelper(PERMISSION_HELPER, new PermissionBackupHelper());
addHelper(USAGE_STATS_HELPER, new UsageStatsBackupHelper(this));
addHelper(SHORTCUT_MANAGER_HELPER, new ShortcutBackupHelper());
+ addHelper(ACCOUNT_MANAGER_HELPER, new AccountManagerBackupHelper());
try {
super.onRestore(data, appVersionCode, newState);
diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp
index d7550a4..72755ce 100755
--- a/core/jni/android/graphics/Bitmap.cpp
+++ b/core/jni/android/graphics/Bitmap.cpp
@@ -151,12 +151,12 @@
mPixelRef->unref();
}
-Bitmap::Bitmap(void* address, int fd,
+Bitmap::Bitmap(void* address, int fd, size_t mappedSize,
const SkImageInfo& info, size_t rowBytes, SkColorTable* ctable)
: mPixelStorageType(PixelStorageType::Ashmem) {
mPixelStorage.ashmem.address = address;
mPixelStorage.ashmem.fd = fd;
- mPixelStorage.ashmem.size = ashmem_get_size_region(fd);
+ mPixelStorage.ashmem.size = mappedSize;
mPixelRef.reset(new WrappedPixelRef(this, address, info, rowBytes, ctable));
// Note: this will trigger a call to onStrongRefDestroyed(), but
// we want the pixel ref to have a ref count of 0 at this point
@@ -1027,7 +1027,7 @@
// Map the pixels in place and take ownership of the ashmem region.
nativeBitmap = GraphicsJNI::mapAshmemPixelRef(env, bitmap.get(),
- ctable, dupFd, const_cast<void*>(blob.data()), !isMutable);
+ ctable, dupFd, const_cast<void*>(blob.data()), size, !isMutable);
SkSafeUnref(ctable);
if (!nativeBitmap) {
close(dupFd);
diff --git a/core/jni/android/graphics/Bitmap.h b/core/jni/android/graphics/Bitmap.h
index eadba5c..aaea178 100644
--- a/core/jni/android/graphics/Bitmap.h
+++ b/core/jni/android/graphics/Bitmap.h
@@ -51,8 +51,8 @@
const SkImageInfo& info, size_t rowBytes, SkColorTable* ctable);
Bitmap(void* address, void* context, FreeFunc freeFunc,
const SkImageInfo& info, size_t rowBytes, SkColorTable* ctable);
- Bitmap(void* address, int fd, const SkImageInfo& info, size_t rowBytes,
- SkColorTable* ctable);
+ Bitmap(void* address, int fd, size_t mappedSize, const SkImageInfo& info,
+ size_t rowBytes, SkColorTable* ctable);
const SkImageInfo& info() const;
diff --git a/core/jni/android/graphics/Graphics.cpp b/core/jni/android/graphics/Graphics.cpp
index 528541d..889a3db8 100644
--- a/core/jni/android/graphics/Graphics.cpp
+++ b/core/jni/android/graphics/Graphics.cpp
@@ -613,7 +613,7 @@
return nullptr;
}
- android::Bitmap* wrapper = new android::Bitmap(addr, fd, info, rowBytes, ctable);
+ android::Bitmap* wrapper = new android::Bitmap(addr, fd, size, info, rowBytes, ctable);
wrapper->getSkBitmap(bitmap);
// since we're already allocated, we lockPixels right away
// HeapAllocator behaves this way too
@@ -623,7 +623,7 @@
}
android::Bitmap* GraphicsJNI::mapAshmemPixelRef(JNIEnv* env, SkBitmap* bitmap,
- SkColorTable* ctable, int fd, void* addr, bool readOnly) {
+ SkColorTable* ctable, int fd, void* addr, size_t size, bool readOnly) {
const SkImageInfo& info = bitmap->info();
if (info.colorType() == kUnknown_SkColorType) {
doThrowIAE(env, "unknown bitmap configuration");
@@ -633,7 +633,8 @@
if (!addr) {
// Map existing ashmem region if not already mapped.
int flags = readOnly ? (PROT_READ) : (PROT_READ | PROT_WRITE);
- addr = mmap(NULL, ashmem_get_size_region(fd), flags, MAP_SHARED, fd, 0);
+ size = ashmem_get_size_region(fd);
+ addr = mmap(NULL, size, flags, MAP_SHARED, fd, 0);
if (addr == MAP_FAILED) {
return nullptr;
}
@@ -643,7 +644,7 @@
// attempting to compute our own.
const size_t rowBytes = bitmap->rowBytes();
- android::Bitmap* wrapper = new android::Bitmap(addr, fd, info, rowBytes, ctable);
+ android::Bitmap* wrapper = new android::Bitmap(addr, fd, size, info, rowBytes, ctable);
wrapper->getSkBitmap(bitmap);
if (readOnly) {
bitmap->pixelRef()->setImmutable();
diff --git a/core/jni/android/graphics/GraphicsJNI.h b/core/jni/android/graphics/GraphicsJNI.h
index 5baa8f8..a215709 100644
--- a/core/jni/android/graphics/GraphicsJNI.h
+++ b/core/jni/android/graphics/GraphicsJNI.h
@@ -101,7 +101,7 @@
SkColorTable* ctable);
static android::Bitmap* mapAshmemPixelRef(JNIEnv* env, SkBitmap* bitmap,
- SkColorTable* ctable, int fd, void* addr, bool readOnly);
+ SkColorTable* ctable, int fd, void* addr, size_t size, bool readOnly);
/**
* Given a bitmap we natively allocate a memory block to store the contents
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index 9459257..b926270 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -350,9 +350,16 @@
postData(msgType, dataPtr, NULL);
}
-void JNICameraContext::postRecordingFrameHandleTimestamp(nsecs_t, native_handle_t*) {
- // This is not needed at app layer. This should not be called because JNICameraContext cannot
- // start video recording.
+void JNICameraContext::postRecordingFrameHandleTimestamp(nsecs_t, native_handle_t* handle) {
+ // Video buffers are not needed at app layer so just return the video buffers here.
+ // This may be called when stagefright just releases camera but there are still outstanding
+ // video buffers.
+ if (mCamera != nullptr) {
+ mCamera->releaseRecordingFrameHandle(handle);
+ } else {
+ native_handle_close(handle);
+ native_handle_delete(handle);
+ }
}
void JNICameraContext::postMetadata(JNIEnv *env, int32_t msgType, camera_frame_metadata_t *metadata)
diff --git a/core/jni/android_hardware_location_ContextHubService.cpp b/core/jni/android_hardware_location_ContextHubService.cpp
index 3644410..8eb39e1 100644
--- a/core/jni/android_hardware_location_ContextHubService.cpp
+++ b/core/jni/android_hardware_location_ContextHubService.cpp
@@ -337,11 +337,15 @@
return 0;
}
-static void query_hub_for_apps(uint64_t appId, uint32_t hubHandle) {
+static void query_hub_for_apps(uint32_t hubHandle) {
hub_message_t msg;
query_apps_request_t queryMsg;
- queryMsg.app_name.id = appId;
+ // TODO(b/30835598): When we're able to tell which request our
+ // response matches, then we should allow this to be more
+ // targetted, instead of always being every app in the
+ // system.
+ queryMsg.app_name.id = ALL_APPS;
msg.message_type = CONTEXT_HUB_QUERY_APPS;
msg.message_len = sizeof(queryMsg);
@@ -354,9 +358,9 @@
}
}
-static void sendQueryForApps(uint64_t appId) {
+static void sendQueryForApps() {
for (int i = 0; i < db.hubInfo.numHubs; i++ ) {
- query_hub_for_apps(appId, i);
+ query_hub_for_apps(i);
}
}
@@ -386,23 +390,12 @@
static jint add_app_instance(const hub_app_info *appInfo, uint32_t hubHandle,
jint appInstanceHandle, JNIEnv *env) {
-
- ALOGI("Loading App");
-
// Not checking if the apps are indeed distinct
app_instance_info_s entry;
assert(appInfo);
- const char *action = "Updated";
- if (db.appInstances.count(appInstanceHandle) == 0) {
- action = "Added";
- appInstanceHandle = generate_id();
- if (appInstanceHandle < 0) {
- ALOGE("Cannot find resources to add app instance %" PRId32,
- appInstanceHandle);
- return -1;
- }
- }
+ const char *action =
+ (db.appInstances.count(appInstanceHandle) == 0) ? "Added" : "Updated";
entry.appInfo = *appInfo;
@@ -412,13 +405,14 @@
db.appInstances[appInstanceHandle] = entry;
- // Finally - let the service know of this app instance
+ // Finally - let the service know of this app instance, to populate
+ // the Java cache.
env->CallIntMethod(db.jniInfo.jContextHubService,
db.jniInfo.contextHubServiceAddAppInstance,
hubHandle, entry.instanceId, entry.truncName,
entry.appInfo.version);
- ALOGW("%s App 0x%" PRIx64 " on hub Handle %" PRId32
+ ALOGI("%s App 0x%" PRIx64 " on hub Handle %" PRId32
" as appInstance %" PRId32, action, entry.truncName,
entry.hubHandle, appInstanceHandle);
@@ -540,7 +534,7 @@
}
}
- sendQueryForApps(ALL_APPS);
+ sendQueryForApps();
} else {
ALOGW("No Context Hub Module present");
}
@@ -584,16 +578,63 @@
return -1;
}
- int numApps = msgLen/sizeof(hub_app_info);
- hub_app_info info;
+ int numApps = msgLen / sizeof(hub_app_info);
const hub_app_info *unalignedInfoAddr = (const hub_app_info*)msg;
- for (int i = 0; i < numApps; i++, unalignedInfoAddr++) {
- memcpy(&info, unalignedInfoAddr, sizeof(info));
+ // We use this information to sync our JNI and Java caches of nanoapp info.
+ // We want to accomplish two things here:
+ // 1) Remove entries from our caches which are stale, and pertained to
+ // apps no longer running on Context Hub.
+ // 2) Populate our caches with the latest information of all these apps.
+
+ // We make a couple of assumptions here:
+ // A) The JNI and Java caches are in sync with each other (this isn't
+ // necessarily true; any failure of a single call into Java land to
+ // update its cache will leave that cache in a bad state. For NYC,
+ // we're willing to tolerate this for now).
+ // B) The total number of apps is relatively small, so horribly inefficent
+ // algorithms aren't too painful.
+ // C) We're going to call this relatively infrequently, so its inefficency
+ // isn't a big impact.
+
+
+ // (1). Looking for stale cache entries. Yes, this is O(N^2). See
+ // assumption (B). Per assumption (A), it is sufficient to iterate
+ // over just the JNI cache.
+ auto end = db.appInstances.end();
+ for (auto current = db.appInstances.begin(); current != end; ) {
+ app_instance_info_s cache_entry = current->second;
+ // We perform our iteration here because if we call
+ // delete_app_instance() below, it will erase() this entry.
+ current++;
+ bool entryIsStale = true;
+ for (int i = 0; i < numApps; i++) {
+ // We use memcmp since this could be unaligned.
+ if (memcmp(&unalignedInfoAddr[i].app_name.id,
+ &cache_entry.appInfo.app_name.id,
+ sizeof(cache_entry.appInfo.app_name.id)) == 0) {
+ // We found a match; this entry is current.
+ entryIsStale = false;
+ break;
+ }
+ }
+ if (entryIsStale) {
+ delete_app_instance(cache_entry.instanceId, env);
+ }
+ }
+
+ // (2). Update our caches with the latest.
+ for (int i = 0; i < numApps; i++) {
+ hub_app_info query_info;
+ memcpy(&query_info, &unalignedInfoAddr[i], sizeof(query_info));
// We will only have one instance of the app
// TODO : Change this logic once we support multiple instances of the same app
- jint appInstance = get_app_instance_for_app_id(info.app_name.id);
- add_app_instance(&info, hubHandle, appInstance, env);
+ jint appInstance = get_app_instance_for_app_id(query_info.app_name.id);
+ if (appInstance == -1) {
+ // This is a previously unknown app, let's allocate an "id" for it.
+ appInstance = generate_id();
+ }
+ add_app_instance(&query_info, hubHandle, appInstance, env);
}
return 0;
@@ -717,7 +758,12 @@
ALOGW("Could not attach to JVM !");
success = false;
}
- sendQueryForApps(info->appInfo.app_name.id);
+ // While we just called add_app_instance above, our info->appInfo was
+ // incomplete (for example, the 'version' is hardcoded to -1). So we
+ // trigger an additional query to the CHRE, so we'll be able to get
+ // all the app "info", and have our JNI and Java caches with the
+ // full information.
+ sendQueryForApps();
} else {
ALOGW("Could not load the app successfully ! Unexpected failure");
*appInstanceHandle = INVALID_APP_ID;
@@ -747,24 +793,6 @@
return true;
}
-static void invalidateNanoApps(uint32_t hubHandle) {
- JNIEnv *env;
-
- if ((db.jniInfo.vm)->AttachCurrentThread(&env, nullptr) != JNI_OK) {
- ALOGW("Could not attach to JVM !");
- env = nullptr;
- }
-
- auto end = db.appInstances.end();
- for (auto current = db.appInstances.begin(); current != end; ) {
- app_instance_info_s info = current->second;
- current++;
- if (info.hubHandle == hubHandle) {
- delete_app_instance(info.instanceId, env);
- }
- }
-}
-
static int handle_os_message(uint32_t msgType, uint32_t hubHandle,
const uint8_t *msg, int msgLen) {
int retVal = -1;
@@ -832,8 +860,7 @@
ALOGW("Context Hub handle %d restarted", hubHandle);
closeTxn();
passOnOsResponse(hubHandle, msgType, &rsp, nullptr, 0);
- invalidateNanoApps(hubHandle);
- query_hub_for_apps(ALL_APPS, hubHandle);
+ query_hub_for_apps(hubHandle);
retVal = 0;
}
break;
@@ -1165,7 +1192,8 @@
if (retVal != 0) {
ALOGD("Send Message failure - %d", retVal);
if (msgType == CONTEXT_HUB_LOAD_APP) {
- closeLoadTxn(false, nullptr);
+ jint ignored;
+ closeLoadTxn(false, &ignored);
} else if (msgType == CONTEXT_HUB_UNLOAD_APP) {
closeUnloadTxn(false);
}
diff --git a/core/jni/android_view_RenderNode.cpp b/core/jni/android_view_RenderNode.cpp
index b0028e1..1bad5f8 100644
--- a/core/jni/android_view_RenderNode.cpp
+++ b/core/jni/android_view_RenderNode.cpp
@@ -721,9 +721,9 @@
int register_android_view_RenderNode(JNIEnv* env) {
jclass clazz = FindClassOrDie(env, "android/view/SurfaceView");
gSurfaceViewPositionUpdateMethod = GetMethodIDOrDie(env, clazz,
- "updateWindowPositionRT", "(JIIII)V");
+ "updateWindowPosition_renderWorker", "(JIIII)V");
gSurfaceViewPositionLostMethod = GetMethodIDOrDie(env, clazz,
- "windowPositionLostRT", "(J)V");
+ "windowPositionLost_uiRtSync", "(J)V");
clazz = FindClassOrDie(env, "android/view/RenderNode");
gOnRenderNodeDetached = GetMethodIDOrDie(env, clazz,
"onRenderNodeDetached", "()V");
diff --git a/core/jni/fd_utils-inl.h b/core/jni/fd_utils-inl.h
index 2b36c9f..c67662b 100644
--- a/core/jni/fd_utils-inl.h
+++ b/core/jni/fd_utils-inl.h
@@ -48,10 +48,8 @@
// fork, and all operations on it will fail.
static const char* kPathWhitelist[] = {
"/dev/null",
- "/dev/pmsg0",
"/dev/socket/zygote",
"/dev/socket/zygote_secondary",
- "/system/etc/event-log-tags",
"/sys/kernel/debug/tracing/trace_marker",
"/system/framework/framework-res.apk",
"/dev/urandom",
@@ -448,8 +446,8 @@
//
// (a) they continue to be open.
// (b) they refer to the same file.
- std::unordered_map<int, FileDescriptorInfo*>::iterator it;
- for (it = open_fd_map_.begin(); it != open_fd_map_.end(); ++it) {
+ std::unordered_map<int, FileDescriptorInfo*>::iterator it = open_fd_map_.begin();
+ while (it != open_fd_map_.end()) {
std::set<int>::const_iterator element = open_fds.find(it->first);
if (element == open_fds.end()) {
// The entry from the file descriptor table is no longer in the list
@@ -459,11 +457,10 @@
// TODO(narayan): This will be an error in a future android release.
// error = true;
// ALOGW("Zygote closed file descriptor %d.", it->first);
- open_fd_map_.erase(it);
+ it = open_fd_map_.erase(it);
} else {
// The entry from the file descriptor table is still open. Restat
// it and check whether it refers to the same file.
- open_fds.erase(element);
const bool same_file = it->second->Restat();
if (!same_file) {
// The file descriptor refers to a different description. We must
@@ -475,11 +472,20 @@
// We flag an error and remove it from the list of files we're
// tracking.
error = true;
- open_fd_map_.erase(it);
+ it = open_fd_map_.erase(it);
+ } else {
+ // Successfully restatted the file, move on to the next open FD.
+ ++it;
}
} else {
- // It's the same file. Nothing to do here.
+ // It's the same file. Nothing to do here. Move on to the next open
+ // FD.
+ ++it;
}
+
+ // Finally, remove the FD from the set of open_fds. We do this last because
+ // |element| will not remain valid after a call to erase.
+ open_fds.erase(element);
}
}
diff --git a/core/res/res/anim/dock_bottom_exit_keyguard.xml b/core/res/res/anim/dock_bottom_exit_keyguard.xml
new file mode 100644
index 0000000..4de3ce5
--- /dev/null
+++ b/core/res/res/anim/dock_bottom_exit_keyguard.xml
@@ -0,0 +1,22 @@
+<!--
+ ~ Copyright (C) 2016 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
+ -->
+
+<!-- Animation for when a dock window at the bottom of the screen is exiting while on Keyguard -->
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+ android:interpolator="@android:interpolator/fast_out_linear_in">
+ <translate android:fromYDelta="0" android:toYDelta="100%"
+ android:duration="200"/>
+</set>
\ No newline at end of file
diff --git a/core/res/res/color/hint_foreground_material_dark.xml b/core/res/res/color/hint_foreground_material_dark.xml
index 77883d9..5cc9559 100644
--- a/core/res/res/color/hint_foreground_material_dark.xml
+++ b/core/res/res/color/hint_foreground_material_dark.xml
@@ -15,6 +15,10 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="true"
+ android:state_pressed="true"
+ android:alpha="@dimen/hint_pressed_alpha_material_dark"
+ android:color="@color/foreground_material_dark" />
<item android:alpha="@dimen/hint_alpha_material_dark"
android:color="@color/foreground_material_dark" />
</selector>
diff --git a/core/res/res/color/hint_foreground_material_light.xml b/core/res/res/color/hint_foreground_material_light.xml
index 99168fd..f7465e0 100644
--- a/core/res/res/color/hint_foreground_material_light.xml
+++ b/core/res/res/color/hint_foreground_material_light.xml
@@ -15,6 +15,10 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="true"
+ android:state_pressed="true"
+ android:alpha="@dimen/hint_pressed_alpha_material_light"
+ android:color="@color/foreground_material_light" />
<item android:alpha="@dimen/hint_alpha_material_light"
android:color="@color/foreground_material_light" />
</selector>
diff --git a/core/res/res/drawable-hdpi/vpn_connected.png b/core/res/res/drawable-hdpi/vpn_connected.png
index c3547e8..e05e76f 100644
--- a/core/res/res/drawable-hdpi/vpn_connected.png
+++ b/core/res/res/drawable-hdpi/vpn_connected.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/vpn_disconnected.png b/core/res/res/drawable-hdpi/vpn_disconnected.png
index 10a9065..3508984 100644
--- a/core/res/res/drawable-hdpi/vpn_disconnected.png
+++ b/core/res/res/drawable-hdpi/vpn_disconnected.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/vpn_connected.png b/core/res/res/drawable-mdpi/vpn_connected.png
index 7e167f8..f7ac2a1 100644
--- a/core/res/res/drawable-mdpi/vpn_connected.png
+++ b/core/res/res/drawable-mdpi/vpn_connected.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/vpn_disconnected.png b/core/res/res/drawable-mdpi/vpn_disconnected.png
index a08c42a..9db4199 100644
--- a/core/res/res/drawable-mdpi/vpn_disconnected.png
+++ b/core/res/res/drawable-mdpi/vpn_disconnected.png
Binary files differ
diff --git a/core/res/res/drawable-nodpi/vpn_connected.xml b/core/res/res/drawable-nodpi/vpn_connected.xml
new file mode 100644
index 0000000..22a4a6cb4
--- /dev/null
+++ b/core/res/res/drawable-nodpi/vpn_connected.xml
@@ -0,0 +1,24 @@
+<!--
+Copyright (C) 2016 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="48dp"
+ android:height="48dp"
+ android:viewportWidth="48.0"
+ android:viewportHeight="48.0">
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M25.3,20c-1.65,-4.66 -6.08,-8 -11.3,-8 -6.63,0 -12,5.37 -12,12s5.37,12 12,12c5.22,0 9.65,-3.34 11.3,-8H34v8h8v-8h4v-8H25.3zM14,28c-2.21,0 -4,-1.79 -4,-4s1.79,-4 4,-4 4,1.79 4,4 -1.79,4 -4,4z"/>
+</vector>
diff --git a/core/res/res/drawable-nodpi/vpn_disconnected.xml b/core/res/res/drawable-nodpi/vpn_disconnected.xml
new file mode 100644
index 0000000..22a4a6cb4
--- /dev/null
+++ b/core/res/res/drawable-nodpi/vpn_disconnected.xml
@@ -0,0 +1,24 @@
+<!--
+Copyright (C) 2016 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="48dp"
+ android:height="48dp"
+ android:viewportWidth="48.0"
+ android:viewportHeight="48.0">
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M25.3,20c-1.65,-4.66 -6.08,-8 -11.3,-8 -6.63,0 -12,5.37 -12,12s5.37,12 12,12c5.22,0 9.65,-3.34 11.3,-8H34v8h8v-8h4v-8H25.3zM14,28c-2.21,0 -4,-1.79 -4,-4s1.79,-4 4,-4 4,1.79 4,4 -1.79,4 -4,4z"/>
+</vector>
diff --git a/core/res/res/drawable-xhdpi/vpn_connected.png b/core/res/res/drawable-xhdpi/vpn_connected.png
index 1f46be2..a8761c9 100644
--- a/core/res/res/drawable-xhdpi/vpn_connected.png
+++ b/core/res/res/drawable-xhdpi/vpn_connected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/vpn_disconnected.png b/core/res/res/drawable-xhdpi/vpn_disconnected.png
index 847d3f5..7118918 100644
--- a/core/res/res/drawable-xhdpi/vpn_disconnected.png
+++ b/core/res/res/drawable-xhdpi/vpn_disconnected.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/vpn_connected.png b/core/res/res/drawable-xxhdpi/vpn_connected.png
index ea4930c..16b1e4e 100644
--- a/core/res/res/drawable-xxhdpi/vpn_connected.png
+++ b/core/res/res/drawable-xxhdpi/vpn_connected.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/vpn_disconnected.png b/core/res/res/drawable-xxhdpi/vpn_disconnected.png
index 4cd0dd4..a025818 100644
--- a/core/res/res/drawable-xxhdpi/vpn_disconnected.png
+++ b/core/res/res/drawable-xxhdpi/vpn_disconnected.png
Binary files differ
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 677017d..aa3396a 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tik om taal en uitleg te kies"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidate"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Berei tans <xliff:g id="NAME">%s</xliff:g> voor"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Kyk tans vir foute"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nuwe <xliff:g id="NAME">%s</xliff:g> bespeur"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Gekoppel aan <xliff:g id="SESSION">%s</xliff:g>. Tik om die netwerk te bestuur."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Altydaan-VPN koppel tans..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Altydaan-VPN gekoppel"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Altydaan-VPN is ontkoppel"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Altydaan-VPN-fout"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Tik om op te stel"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tik om op te stel"</string>
<string name="upload_file" msgid="2897957172366730416">"Kies lêer"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Geen lêer gekies nie"</string>
<string name="reset" msgid="2448168080964209908">"Stel terug"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Voer taalnaam in"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Voorgestel"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Alle tale"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Soek"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Werkmodus is AF"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Stel werkprofiel in staat om te werk, insluitend programme, agtergrondsinkronisering en verwante kenmerke."</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 721f884..8135794 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ቋንቋ እና አቀማመጥን ለመምረጥ መታ ያድርጉ"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"ዕጩዎች"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g>ን በማዘጋጀት ላይ"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"ስህተቶች ካሉ በመፈተሽ ላይ"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"አዲስ <xliff:g id="NAME">%s</xliff:g> ተገኝቷል"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"ለ<xliff:g id="SESSION">%s</xliff:g> የተገናኘ። አውታረመረቡን ለማደራጀት ሁለቴ ንካ።"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ሁልጊዜ የበራ VPN በመገናኘት ላይ…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"ሁልጊዜ የበራ VPN ተገናኝቷል"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"ሁልጊዜ የበራ የVPN ግንኙነት ተቋርጧል"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"ሁልጊዜ የበራ VPN ስህተት"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"ለማዋቀር መታ ያድርጉ"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"ለማዋቀር መታ ያድርጉ"</string>
<string name="upload_file" msgid="2897957172366730416">"ፋይል ምረጥ"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ምንም ፋይል አልተመረጠም"</string>
<string name="reset" msgid="2448168080964209908">"ዳግም አስጀምር"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"የቋንቋ ስም ይተይቡ"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"የተጠቆሙ"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"ሁሉም ቋንቋዎች"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"ፈልግ"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"የሥራ ሁነታ ጠፍቷል"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"መተግበሪያዎችን፣ የበስተጀርባ ሥምረት እና ተዛማጅ ባሕሪዎችን ጨምሮ የሥራ መገለጫ እንዲሰራ ይፍቀዱ።"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 630c292..7308d54 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -1264,7 +1264,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"انقر لاختيار لغة وتنسيق"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789 أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"العناصر المرشحة"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"جارٍ تحضير <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"جارٍ التحقق من الأخطاء"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"تم اكتشاف <xliff:g id="NAME">%s</xliff:g> جديدة"</string>
@@ -1343,8 +1342,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"تم الاتصال بـ <xliff:g id="SESSION">%s</xliff:g>. انقر لإدارة الشبكة."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"جارٍ الاتصال بشبكة ظاهرية خاصة (VPN) دائمة التشغيل..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"تم الاتصال بشبكة ظاهرية خاصة (VPN) دائمة التشغيل"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"تم فصل الشبكة الظاهرية الخاصة (VPN) دائمة التشغيل"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"خطأ بشبكة ظاهرية خاصة (VPN) دائمة التشغيل"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"انقر للتهيئة."</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"انقر للإعداد."</string>
<string name="upload_file" msgid="2897957172366730416">"اختيار ملف"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"لم يتم اختيار أي ملف"</string>
<string name="reset" msgid="2448168080964209908">"إعادة تعيين"</string>
@@ -1791,6 +1791,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"اكتب اسم اللغة"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"المقترحة"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"جميع اللغات"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"كل المناطق"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"البحث"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"وضع العمل معطَّل"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"السماح باستخدام الملف الشخصي للعمل، بما في ذلك التطبيقات ومزامنة الخلفية والميزات ذات الصلة."</string>
diff --git a/core/res/res/values-az-rAZ/strings.xml b/core/res/res/values-az-rAZ/strings.xml
index 502131a..94b7d27 100644
--- a/core/res/res/values-az-rAZ/strings.xml
+++ b/core/res/res/values-az-rAZ/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dil və tərtibatı seçmək üçün tıklayın"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCÇDEƏFGĞHXIİJKQLMNOÖPRSŞTUÜVYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCÇDEƏFGĞHİIJKLMNOÖPQRSŞTUÜVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"namizədlər"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> hazırlanır"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Səhvlər yoxlanılır"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Yeni <xliff:g id="NAME">%s</xliff:g> aşkarlandı"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> sessiyaya qoşulun. Şəbəkəni idarə etmək üçün tıklayın."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Həmişə aktiv VPN bağlanır..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN bağlantısı həmişə aktiv"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Həmişə aktiv VPN bağlantısı kəsildi"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Həmişə aktiv VPN xətası"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Konfiqurasiya üçün tıklayın"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Quraşdırmaq üçün tıklayın"</string>
<string name="upload_file" msgid="2897957172366730416">"Fayl seçin"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Heç bir fayl seçilməyib"</string>
<string name="reset" msgid="2448168080964209908">"Sıfırlayın"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Dil adını daxil edin"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Təklif edilmiş"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Bütün dillər"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Bütün bölgələr"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Axtarın"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"İş rejimi DEAKTİVDİR"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Tətbiq, arxa fon sinxronizasiyası və digər əlaqədar xüsusiyyətlər daxil olmaqla iş profilinin fəaliyyətinə icazə verin."</string>
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index c8fc56f..c540c960 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -1189,7 +1189,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dodirnite da biste izabrali jezik i raspored"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidati"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> se priprema"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Proverava se da li postoje greške"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novi uređaj <xliff:g id="NAME">%s</xliff:g> je otkriven"</string>
@@ -1268,8 +1267,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Povezano sa sesijom <xliff:g id="SESSION">%s</xliff:g>. Dodirnite da biste upravljali mrežom."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Povezivanje stalno uključenog VPN-a..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Stalno uključeni VPN je povezan"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Veza sa stalno uključenim VPN-om je prekinuta"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Greška stalno uključenog VPN-a"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Dodirnite da biste konfigurisali"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Dodirnite da biste podesili"</string>
<string name="upload_file" msgid="2897957172366730416">"Odaberi datoteku"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nije izabrana nijedna datoteka"</string>
<string name="reset" msgid="2448168080964209908">"Ponovo postavi"</string>
@@ -1683,6 +1683,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Unesite naziv jezika"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Predloženi"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Svi jezici"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Pretraži"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Režim za Work je ISKLJUČEN"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Dozvoljava profilu za Work da funkcioniše, uključujući aplikacije, sinhronizaciju u pozadini i srodne funkcije."</string>
diff --git a/core/res/res/values-be-rBY/strings.xml b/core/res/res/values-be-rBY/strings.xml
index c98b151..49033b4 100644
--- a/core/res/res/values-be-rBY/strings.xml
+++ b/core/res/res/values-be-rBY/strings.xml
@@ -1214,7 +1214,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Дакраніцеся, каб выбраць мову і раскладку"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" АБВГДЕЁЖЗІЙКЛМНОПРСТУЎФХЦЧШ\'ЫЬЭЮЯ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"кандыдат."</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Падрыхтоўка <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Праверка на наяўнасць памылак"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Выяўлены новы носьбіт <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1293,8 +1292,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Падлучаны да <xliff:g id="SESSION">%s</xliff:g>. Націсніце, каб кiраваць сеткай."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Падключэнне заўсёды ўключанага VPN..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Заўсёды ўключаны i падключаны VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Заўсёды ўключаны VPN адключаны"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Памылка заўсёды ўключанага VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Дакраніцеся, каб сканфігураваць"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Дакраніцеся, каб наладзіць"</string>
<string name="upload_file" msgid="2897957172366730416">"Выберыце файл"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Файл не выбраны"</string>
<string name="reset" msgid="2448168080964209908">"Скінуць"</string>
@@ -1719,6 +1719,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Увядзіце назву мовы"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Прапанаваныя"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Усе мовы"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Усе рэгіёны"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Шукаць"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Рэжым працы АДКЛЮЧАНЫ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Дазволіць функцыянаванне працоўнага профілю, у тым ліку праграм, фонавай сінхранізацыі і звязаных з імі функцый."</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index cffc850..9d77598 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Докоснете, за да изберете език и подредба"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"кандидати"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g>: Подготвя се"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Проверява се за грешки"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Открито е ново хранилище (<xliff:g id="NAME">%s</xliff:g>)"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Свързана с/ъс <xliff:g id="SESSION">%s</xliff:g>. Докоснете, за да управлявате мрежата."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Установява се връзка с винаги включената виртуална частна мрежа (VPN)…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Установена е връзка с винаги включената виртуална частна мрежа (VPN)"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Няма връзка с винаги включената виртуална частна мрежа (VPN)"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Грешка във винаги включената виртуална частна мрежа (VPN)"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Докоснете, за да конфигурирате"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Докоснете, за да настроите"</string>
<string name="upload_file" msgid="2897957172366730416">"Избор на файл"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Няма избран файл"</string>
<string name="reset" msgid="2448168080964209908">"Повторно задаване"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Въведете име на език"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Предложени"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Всички езици"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Всички региони"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Търсене"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Работният режим е ИЗКЛЮЧЕН"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Разрешаване на функционирането на служебния потребителски профил, включително приложенията, синхронизирането на заден план и свързаните функции."</string>
diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml
index aa2d5d5..206aef8 100644
--- a/core/res/res/values-bn-rBD/strings.xml
+++ b/core/res/res/values-bn-rBD/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ভাষা এবং লেআউট নির্বাচন করুন আলতো চাপ দিন"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"প্রার্থীরা"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> প্রস্তুত করা হচ্ছে"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"ত্রুটি রয়েছে কিনা পরীক্ষা করা হচ্ছে"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"নতুন <xliff:g id="NAME">%s</xliff:g> সনাক্ত করা হয়েছে"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> তে সংযুক্ত হয়েছে৷ নেটওয়ার্ক পরিচালনা করতে আলতো চাপুন৷"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"সর্বদা-চালু VPN সংযুক্ত হচ্ছে..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"সর্বদা-চালু VPN সংযুক্ত হয়েছে"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"সর্বদা-চালু VPN এর সংযোগ বিচ্ছিন্ন হয়েছে"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"সর্বদা-চালু VPN ত্রুটি"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"কনফিগার করতে আলতো চাপুন"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"সেট আপ করতে আলতো চাপুন"</string>
<string name="upload_file" msgid="2897957172366730416">"ফাইল বেছে নিন"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"কোনো ফাইল নির্বাচন করা হয়নি"</string>
<string name="reset" msgid="2448168080964209908">"পুনরায় সেট করুন"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"ভাষার নাম লিখুন"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"প্রস্তাবিত"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"সকল ভাষা"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"সমস্ত অঞ্চল"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"অনুসন্ধান করুন"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"কাজের মোড বন্ধ আছে"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"অ্যাপ্লিকেশান, পটভূমি সিঙ্ক এবং সম্পর্কিত বৈশিষ্ট্যগুলি সহ কর্মস্থলের প্রোফাইলটিকে কাজ করার অনুমতি দিন।"</string>
diff --git a/core/res/res/values-bs-rBA/strings.xml b/core/res/res/values-bs-rBA/strings.xml
index d9bb9f0..540348b 100644
--- a/core/res/res/values-bs-rBA/strings.xml
+++ b/core/res/res/values-bs-rBA/strings.xml
@@ -1191,7 +1191,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dodirnite za odabir jezika i rasporeda"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidati"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Priprema se <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Provjera grešaka"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novi uređaj <xliff:g id="NAME">%s</xliff:g> je otkriven"</string>
@@ -1270,8 +1269,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Povezano sa sesijom <xliff:g id="SESSION">%s</xliff:g>. Dodirnite da upravljate mrežom."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Povezivanje na uvijek aktivni VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Povezan na uvijek aktivni VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Uvijek aktivni VPN nije povezan"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Greška u povezivanju na uvijek aktivni VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Dodirnite za konfiguriranje"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Dodirnite za postavke"</string>
<string name="upload_file" msgid="2897957172366730416">"Odabir fajla"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nije izabran nijedan fajl"</string>
<string name="reset" msgid="2448168080964209908">"Ponovno pokretanje"</string>
@@ -1685,6 +1685,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Ukucajte naziv jezika"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Predloženo"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Svi jezici"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Sve regije"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Pretraga"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Radni način rada je ISKLJUČEN"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Omogući radnom profilu da funkcionira, uključujući aplikacije, sinhronizaciju u pozadini i povezane funkcije."</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index b3a0cde..87832a7e 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toca per seleccionar l\'idioma i el disseny"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidats"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"S\'està preparant <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"S\'està comprovant si hi ha errors"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"S\'ha detectat <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Connectat a <xliff:g id="SESSION">%s</xliff:g>. Pica per gestionar la xarxa."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"T\'estàs connectant a la VPN sempre activada…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Estàs connectat a la VPN sempre activada"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"La VPN sempre activada està desconnectada"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Error de la VPN sempre activada"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Toca per configurar"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Toca per configurar"</string>
<string name="upload_file" msgid="2897957172366730416">"Trieu un fitxer"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"No s\'ha escollit cap fitxer"</string>
<string name="reset" msgid="2448168080964209908">"Restableix"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Nom de l\'idioma"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Suggerits"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Tots els idiomes"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Totes les regions"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Cerca"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Mode de feina desactivat"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Permet que el perfil professional funcioni, incloses les aplicacions, la sincronització en segon pla i les funcions relacionades."</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 706ddd1..9be00bb 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -692,7 +692,7 @@
<string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"V telefonu není žádná SIM karta."</string>
<string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"Vložte SIM kartu."</string>
<string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"SIM karta chybí nebo je nečitelná. Vložte SIM kartu."</string>
- <string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"Nepoužitelná karta SIM."</string>
+ <string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"Nepoužitelná SIM karta."</string>
<string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"Vaše SIM karta byla natrvalo zablokována.\n Požádejte svého poskytovatele bezdrátových služeb o další SIM kartu."</string>
<string name="lockscreen_transport_prev_description" msgid="6300840251218161534">"Předchozí skladba"</string>
<string name="lockscreen_transport_next_description" msgid="573285210424377338">"Další skladba"</string>
@@ -1214,7 +1214,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Klepnutím vyberte jazyk a rozvržení"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" AÁBCČDĎEÉĚFGHCHIÍJKLMNŇOÓPQRŘSŠTŤUÚVWXYÝZŽ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AÁBCČDĎEÉĚFGHCHIÍJKLMNŇOÓPQRŘSŠTŤUÚVWXYÝZŽ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidáti"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Probíhá příprava úložiště <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Kontrola chyb"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Zjištěno nové úložiště <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1293,8 +1292,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Připojeno k relaci <xliff:g id="SESSION">%s</xliff:g>. Klepnutím můžete síť spravovat."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Připojování k trvalé síti VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Je připojena trvalá síť VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Trvalá síť VPN je odpojena"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Chyba trvalé sítě VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Klepnutím zahájíte konfiguraci"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Klepnutím přejděte do Nastavení"</string>
<string name="upload_file" msgid="2897957172366730416">"Zvolit soubor"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Není vybrán žádný soubor"</string>
<string name="reset" msgid="2448168080964209908">"Resetovat"</string>
@@ -1719,6 +1719,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Zadejte název jazyka"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Navrhované"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Všechny jazyky"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Vyhledávání"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Pracovní režim je VYPNUTÝ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Povolí fungování pracovního profilu, včetně aplikací, synchronizace na pozadí a souvisejících funkcí."</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 48b3b87..b6539b1 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tryk for at vælge sprog og layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidater"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Forbereder <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Kontrollerer for fejl"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Der blev registreret et nyt <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Forbundet til <xliff:g id="SESSION">%s</xliff:g>. Tryk for at administrere netværket."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Opretter forbindelse til altid aktiveret VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Always-on VPN er forbundet"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Forbindelsen til altid aktiveret VPN er afbrudt"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Fejl i altid aktiveret VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Tryk for at konfigurere"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tryk for at konfigurere"</string>
<string name="upload_file" msgid="2897957172366730416">"Vælg fil"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Ingen fil er valgt"</string>
<string name="reset" msgid="2448168080964209908">"Nulstil"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Angiv sprogets navn"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Foreslået"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Alle sprog"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Alle områder"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Søg"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Arbejdstilstand er slået FRA"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Tillad, at arbejdsprofilen aktiveres, bl.a. i forbindelse med apps, baggrundssynkronisering og relaterede funktioner."</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index cb61390..4a58c3d 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Zum Auswählen von Sprache und Layout tippen"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"Kandidaten"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> wird vorbereitet"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Nach Fehlern wird gesucht"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Neue <xliff:g id="NAME">%s</xliff:g> entdeckt"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Verbunden mit <xliff:g id="SESSION">%s</xliff:g>. Zum Verwalten des Netzwerks tippen"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Verbindung zu durchgehend aktivem VPN wird hergestellt…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Mit durchgehend aktivem VPN verbunden"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Verbindung zu durchgehend aktivem VPN getrennt"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Durchgehend aktives VPN – Verbindungsfehler"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Zum Konfigurieren tippen"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Zum Einrichten tippen"</string>
<string name="upload_file" msgid="2897957172366730416">"Datei auswählen"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Keine ausgewählt"</string>
<string name="reset" msgid="2448168080964209908">"Zurücksetzen"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Sprache eingeben"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Vorschläge"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Alle Sprachen"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Alle Regionen"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Suche"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Arbeitsmodus ist AUS"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Arbeitsprofil aktivieren, einschließlich Apps, Synchronisierung im Hintergrund und verknüpfter Funktionen."</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 54f39ebd..ee7b8b6 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Πατήστε για να επιλέξετε γλώσσα και διάταξη"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"υποψήφιοι"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Προετοιμασία <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Έλεγχος για σφάλματα"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Εντοπίστηκε νέο μέσο αποθήκευσης <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Συνδέθηκε με <xliff:g id="SESSION">%s</xliff:g>. Πατήστε για να διαχειριστείτε το δίκτυο."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Σύνδεση πάντα ενεργοποιημένου VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Έχει συνδεθεί πάντα ενεργοποιημένο VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Το πάντα ενεργοποιημένο VPN αποσυνδέθηκε"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Σφάλμα πάντα ενεργοποιημένου VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Πατήστε για διαμόρφωση"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Πατήστε για ρύθμιση"</string>
<string name="upload_file" msgid="2897957172366730416">"Επιλογή αρχείου"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Δεν επιλέχθηκε κανένα αρχείο."</string>
<string name="reset" msgid="2448168080964209908">"Επαναφορά"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Εισαγ. όνομα γλώσσας"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Προτεινόμενες"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Όλες οι γλώσσες"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Όλες οι περιοχές"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Αναζήτηση"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Λειτουργία εργασίας ΑΠΕΝΕΡΓ/ΝΗ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Να επιτρέπεται η λειτουργία του προφίλ εργασίας σας, συμπεριλαμβανομένων των εφαρμογών, του συγχρονισμού στο παρασκήνιο και των σχετικών λειτουργιών."</string>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index aeb9634..5926a88 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tap to select language and layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidates"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparing <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Checking for errors"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"New <xliff:g id="NAME">%s</xliff:g> detected"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Connected to <xliff:g id="SESSION">%s</xliff:g>. Tap to manage the network."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Always-on VPN connecting…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Always-on VPN connected"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Always-on VPN disconnected"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Always-on VPN error"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Tap to configure"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tap to set up"</string>
<string name="upload_file" msgid="2897957172366730416">"Choose file"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"No file chosen"</string>
<string name="reset" msgid="2448168080964209908">"Reset"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Type language name"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Suggested"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"All languages"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"All regions"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Search"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Work mode is OFF"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Allow work profile to function, including apps, background sync and related features."</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index aeb9634..5926a88 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tap to select language and layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidates"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparing <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Checking for errors"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"New <xliff:g id="NAME">%s</xliff:g> detected"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Connected to <xliff:g id="SESSION">%s</xliff:g>. Tap to manage the network."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Always-on VPN connecting…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Always-on VPN connected"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Always-on VPN disconnected"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Always-on VPN error"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Tap to configure"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tap to set up"</string>
<string name="upload_file" msgid="2897957172366730416">"Choose file"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"No file chosen"</string>
<string name="reset" msgid="2448168080964209908">"Reset"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Type language name"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Suggested"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"All languages"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"All regions"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Search"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Work mode is OFF"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Allow work profile to function, including apps, background sync and related features."</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index aeb9634..5926a88 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tap to select language and layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidates"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparing <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Checking for errors"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"New <xliff:g id="NAME">%s</xliff:g> detected"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Connected to <xliff:g id="SESSION">%s</xliff:g>. Tap to manage the network."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Always-on VPN connecting…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Always-on VPN connected"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Always-on VPN disconnected"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Always-on VPN error"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Tap to configure"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tap to set up"</string>
<string name="upload_file" msgid="2897957172366730416">"Choose file"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"No file chosen"</string>
<string name="reset" msgid="2448168080964209908">"Reset"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Type language name"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Suggested"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"All languages"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"All regions"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Search"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Work mode is OFF"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Allow work profile to function, including apps, background sync and related features."</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index 85fb97c..45c3f7c 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Presiona para seleccionar el idioma y el diseño"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidatos"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando el medio <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Verificando errores"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Se detectó un nuevo medio (<xliff:g id="NAME">%s</xliff:g>)."</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Conectado a <xliff:g id="SESSION">%s</xliff:g>. Pulsa para gestionar la red."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Estableciendo conexión con la VPN siempre activada..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Se estableció conexión con la VPN siempre activada."</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Se desconectó la VPN siempre activada"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Se produjo un error al establecer conexión con la VPN siempre activada."</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Presiona para configurar"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Presiona para configurar"</string>
<string name="upload_file" msgid="2897957172366730416">"Elegir archivo"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"No se seleccionó un archivo."</string>
<string name="reset" msgid="2448168080964209908">"Restablecer"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Nombre del idioma"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Sugeridos"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Todos los idiomas"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Búsqueda"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Modo de trabajo DESACTIVADO"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Permite que se active el perfil de trabajo, incluidas las apps, la sincronización en segundo plano y las funciones relacionadas."</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index df9251f..0b32a7f 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toca para seleccionar el idioma y el diseño"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidatos"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Comprobando errores"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nueva <xliff:g id="NAME">%s</xliff:g> detectada"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Conectado a <xliff:g id="SESSION">%s</xliff:g>. Toca para administrar la red."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Conectando VPN siempre activada…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN siempre activada conectada"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"VPN siempre activada desconectada"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Error de VPN siempre activada"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Toca para configurar"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Toca para configurar"</string>
<string name="upload_file" msgid="2897957172366730416">"Seleccionar archivo"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Archivo no seleccionado"</string>
<string name="reset" msgid="2448168080964209908">"Restablecer"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Nombre de idioma"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Sugeridos"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Todos los idiomas"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Todas las regiones"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Buscar"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Modo de trabajo desactivado"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Permite que se utilice el perfil de trabajo, incluidas las aplicaciones, la sincronización en segundo plano y las funciones relacionadas."</string>
diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml
index 44698fe..e1516b7 100644
--- a/core/res/res/values-et-rEE/strings.xml
+++ b/core/res/res/values-et-rEE/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Puudutage keele ja paigutuse valimiseks"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidaadid"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Üksuse <xliff:g id="NAME">%s</xliff:g> ettevalmistamine"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Vigade kontrollimine"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Tuvastati uus üksus <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Ühendatud seansiga <xliff:g id="SESSION">%s</xliff:g>. Koputage võrgu haldamiseks"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Ühendamine alati sees VPN-iga …"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Ühendatud alati sees VPN-iga"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Alati sees VPN pole ühendatud"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Alati sees VPN-i viga"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Puudutage seadistamiseks"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Puudutage seadistamiseks"</string>
<string name="upload_file" msgid="2897957172366730416">"Valige fail"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Ühtegi faili pole valitud"</string>
<string name="reset" msgid="2448168080964209908">"Lähtesta"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Sisestage keele nimi"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Soovitatud"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Kõik keeled"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Kõik piirkonnad"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Otsing"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Töörežiim on VÄLJA LÜLITATUD"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Lubatakse tööprofiili toimingud, sh rakendused, taustal sünkroonimine ja seotud funktsioonid."</string>
diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml
index 6f33f31..a90df61 100644
--- a/core/res/res/values-eu-rES/strings.xml
+++ b/core/res/res/values-eu-rES/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Hizkuntza eta diseinua hautatzeko, sakatu hau"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"hautagaiak"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> prestatzen"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Errorerik dagoen egiaztatzen"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> berria hauteman da"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> saiora konektatuta. Sakatu sarea kudeatzeko."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Beti aktibatuta dagoen VPNa konektatzen…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Beti aktibatuta dagoen VPNa konektatu da"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Deskonektatu egin da beti aktibatuta dagoen VPN konexioa"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Beti aktibatuta dagoen VPN errorea"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Sakatu konfiguratzeko"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Konfiguratzeko, sakatu hau"</string>
<string name="upload_file" msgid="2897957172366730416">"Aukeratu fitxategia"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Ez da fitxategirik aukeratu"</string>
<string name="reset" msgid="2448168080964209908">"Berrezarri"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Adierazi hizkuntza"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Iradokitakoak"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Hizkuntza guztiak"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Bilaketa"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Desaktibatuta dago laneko modua"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Baimendu laneko profilak funtzionatzea, besteak beste, aplikazioak, atzeko planoko sinkronizazioa eta erlazionatutako eginbideak."</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index e86b256..5332a33 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -924,9 +924,9 @@
<item quantity="one">در <xliff:g id="COUNT_1">%d</xliff:g> سال</item>
<item quantity="other">در <xliff:g id="COUNT_1">%d</xliff:g> سال</item>
</plurals>
- <string name="VideoView_error_title" msgid="3534509135438353077">"مشکل در ویدیو"</string>
- <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"متأسفیم، این ویدیو برای پخش جریانی با این دستگاه معتبر نیست."</string>
- <string name="VideoView_error_text_unknown" msgid="3450439155187810085">"پخش این ویدیو ممکن نیست."</string>
+ <string name="VideoView_error_title" msgid="3534509135438353077">"مشکل در ویدئو"</string>
+ <string name="VideoView_error_text_invalid_progressive_playback" msgid="3186670335938670444">"متأسفیم، این ویدئو برای پخش جریانی با این دستگاه معتبر نیست."</string>
+ <string name="VideoView_error_text_unknown" msgid="3450439155187810085">"پخش این ویدئو ممکن نیست."</string>
<string name="VideoView_error_button" msgid="2822238215100679592">"تأیید"</string>
<string name="relative_time" msgid="1818557177829411417">"<xliff:g id="DATE">%1$s</xliff:g>، <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="noon" msgid="7245353528818587908">"ظهر"</string>
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"برای انتخاب زبان و چیدمان ضربه بزنید"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"داوطلبین"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"در حال آمادهسازی <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"در حال بررسی برای خطاها"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> جدید شناسایی شد"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"به <xliff:g id="SESSION">%s</xliff:g> متصل شد. برای مدیریت شبکه ضربه بزنید."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"در حال اتصال VPN همیشه فعال…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN همیشه فعال متصل شد"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"ارتباط VPN همیشه روشن قطع شد"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"خطای VPN همیشه فعال"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"جهت پیکربندی ضربه بزنید"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"برای راهاندازی ضربه بزنید"</string>
<string name="upload_file" msgid="2897957172366730416">"انتخاب فایل"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"هیچ فایلی انتخاب نشد"</string>
<string name="reset" msgid="2448168080964209908">"بازنشانی"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"نام زبان را تایپ کنید"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"پیشنهادشده"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"همه زبانها"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"همه منطقهها"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"جستجو"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"حالت کاری خاموش است"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"به نمایه کاری اجازه فعالیت ( شامل استفاده از برنامهها، همگامسازی در پسزمینه و قابلیتهای مرتبط) داده شود."</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index e624e22..92de423 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Valitse kieli ja asettelu koskettamalla."</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidaatit"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Valmistellaan kohdetta <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Tarkistetaan virheiden varalta."</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Uusi <xliff:g id="NAME">%s</xliff:g> on havaittu."</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Yhdistetty: <xliff:g id="SESSION">%s</xliff:g>. Hallinnoi verkkoa napauttamalla."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Yhdistetään aina käytössä olevaan VPN-verkkoon..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Yhdistetty aina käytössä olevaan VPN-verkkoon"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Aina käytössä olevan VPN:n yhteys on katkaistu"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Aina käytössä oleva VPN: virhe"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Määritä napauttamalla."</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Määritä koskettamalla."</string>
<string name="upload_file" msgid="2897957172366730416">"Valitse tiedosto"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Ei valittua tiedostoa"</string>
<string name="reset" msgid="2448168080964209908">"Palauta"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Anna kielen nimi"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Ehdotukset"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Kaikki kielet"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Kaikki alueet"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Haku"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Työtila on pois käytöstä"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Sallii työprofiiliin toiminnan, esimerkiksi sovellukset ja taustasynkronoinnin."</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index f6b2ab1..c3f2e9a 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Touchez pour sélectionner la langue et la configuration du clavier"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidats"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Préparation de « <xliff:g id="NAME">%s</xliff:g> » en cours"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Recherche d\'erreurs en cours..."</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Une nouvelle mémoire « <xliff:g id="NAME">%s</xliff:g> » a été détectée"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Connecté à <xliff:g id="SESSION">%s</xliff:g>. Appuyez ici pour gérer le réseau."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN permanent en cours de connexion…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN permanent connecté"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"RPV permanent déconnecté"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Erreur du VPN permanent"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Touchez pour configurer"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Touchez pour configurer"</string>
<string name="upload_file" msgid="2897957172366730416">"Choisir un fichier"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Aucun fichier sélectionné"</string>
<string name="reset" msgid="2448168080964209908">"Réinitialiser"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Entrez la langue"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Suggestions"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Toutes les langues"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Rechercher"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Le mode Travail est désactivé"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Autoriser le fonctionnement du profil professionnel, y compris les applications, la synchronisation en arrière-plan et les fonctionnalités associées."</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index d726c63..bdb7196 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Appuyer pour sélectionner la langue et la disposition"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidats"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Préparation mémoire \"<xliff:g id="NAME">%s</xliff:g>\" en cours"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Recherche d\'erreurs"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Une nouvelle mémoire de stockage \"<xliff:g id="NAME">%s</xliff:g>\" a été détectée."</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Connecté à <xliff:g id="SESSION">%s</xliff:g>. Appuyez ici pour gérer le réseau."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN permanent en cours de connexion…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN permanent connecté"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"VPN permanent déconnecté"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Erreur du VPN permanent"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Appuyez ici pour configurer."</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Appuyer pour configurer"</string>
<string name="upload_file" msgid="2897957172366730416">"Sélectionner un fichier"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Aucun fichier sélectionné"</string>
<string name="reset" msgid="2448168080964209908">"Réinitialiser"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Saisissez la langue"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Recommandations"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Toutes les langues"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Rechercher"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Mode professionnel DÉSACTIVÉ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Autoriser le fonctionnement du profil professionnel, y compris les applications, la synchronisation en arrière-plan et les fonctionnalités associées."</string>
diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml
index 16a46f1..ed8ad8c9 100644
--- a/core/res/res/values-gl-rES/strings.xml
+++ b/core/res/res/values-gl-rES/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toca para seleccionar o idioma e o deseño"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidatos"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando a <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Comprobando se hai erros"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Detectouse unha <xliff:g id="NAME">%s</xliff:g> nova"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Conectado a <xliff:g id="SESSION">%s</xliff:g>. Toca aquí para xestionar a rede."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN sempre activada conectándose..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN sempre activada conectada"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Desconectouse a VPN sempre activada"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Erro na VPN sempre activada"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Toca para configurar"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tocar para configurar"</string>
<string name="upload_file" msgid="2897957172366730416">"Escoller un ficheiro"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Non se seleccionou ningún ficheiro"</string>
<string name="reset" msgid="2448168080964209908">"Restablecer"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Nome do idioma"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Suxeridos"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Todos os idiomas"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Buscar"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Modo de traballo DESACTIVADO"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Permite que funcione o perfil de traballo, incluídas as aplicacións, a sincronización en segundo plano e as funcións relacionadas."</string>
diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml
index 1f49bec..c71391b 100644
--- a/core/res/res/values-gu-rIN/strings.xml
+++ b/core/res/res/values-gu-rIN/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ભાષા અને લેઆઉટ પસંદ કરવા માટે ટૅપ કરો"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"ઉમેદવારો"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> ને તૈયાર કરી રહ્યું છે"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"ભૂલો માટે તપાસી રહ્યું છે"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"નવું <xliff:g id="NAME">%s</xliff:g> મળ્યું"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> થી કનેક્ટ થયાં. નેટવર્કને સંચાલિત કરવા માટે ટૅપ કરો."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"હંમેશા-ચાલુ VPN કનેક્ટ થઈ રહ્યું છે…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"હંમેશા-ચાલુ VPN કનેક્ટ થયું"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"હંમેશાં-ચાલુ VPN ડિસ્કનેક્ટ થયું"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"હંમેશાં ચાલુ VPN ભૂલ"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"ગોઠવવા માટે ટૅપ કરો"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"સેટ કરવા માટે ટૅપ કરો"</string>
<string name="upload_file" msgid="2897957172366730416">"ફાઇલ પસંદ કરો"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"કોઈ ફાઇલ પસંદ કરેલી નથી"</string>
<string name="reset" msgid="2448168080964209908">"ફરીથી સેટ કરો"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"ભાષાનું નામ ટાઇપ કરો"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"સૂચવેલા"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"બધી ભાષાઓ"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"તમામ પ્રદેશ"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"શોધ"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"કાર્ય મોડ બંધ છે"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"કાર્ય પ્રોફાઇલને ઍપ્લિકેશનો, પૃષ્ઠભૂમિ સમન્વયન અને સંબંધિત સુવિધાઓ સહિતનું કાર્ય કરવાની મંજૂરી આપો."</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 3fd6f9e..98b17d7 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"भाषा और लेआउट चुनने के लिए टैप करें"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"उम्मीदवार"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> को तैयार किया जा रहा है"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"त्रुटियों की जांच कर रहा है"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"नए <xliff:g id="NAME">%s</xliff:g> का पता लगा"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> से कनेक्ट किया गया. नेटवर्क प्रबंधित करने के लिए टैप करें."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"हमेशा-चालू VPN कनेक्ट हो रहा है…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"हमेशा-चालू VPN कनेक्ट है"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"हमेशा-चालू VPN डिस्कनेक्ट है"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"हमेशा-चालू VPN त्रुटि"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"कॉन्फ़िगर करने के लिए टैप करें"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"सेट करने के लिए टैप करें"</string>
<string name="upload_file" msgid="2897957172366730416">"फ़ाइल चुनें"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"कोई फ़ाइल चुनी नहीं गई"</string>
<string name="reset" msgid="2448168080964209908">"रीसेट करें"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"भाषा का नाम लिखें"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"सुझाए गए"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"सभी भाषाएं"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"सभी क्षेत्र"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"खोजें"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"कार्य मोड बंद है"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"ऐप्स, पृष्ठभूमि समन्वयन और संबंधित सुविधाओं सहित कार्य प्रोफ़ाइल को काम करने की अनुमति दें"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 8b503c9..115a97e 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1189,7 +1189,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dodirnite da biste odabrali jezik i raspored"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidati"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Priprema uređaja <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Traženje pogrešaka"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Otkriven je novi uređaj <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1268,8 +1267,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Povezan sa sesijom <xliff:g id="SESSION">%s</xliff:g>. Dotaknite za upravljanje mrežom."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Povezivanje s uvijek uključenom VPN mrežom…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Povezan s uvijek uključenom VPN mrežom"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Prekinuta je veza s uvijek uključenom VPN mrežom"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Pogreška uvijek uključene VPN mreže"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Dodirnite da biste konfigurirali"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Dodirnite za postavljanje"</string>
<string name="upload_file" msgid="2897957172366730416">"Odaberite datoteku"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nema odabranih datoteka"</string>
<string name="reset" msgid="2448168080964209908">"Ponovo postavi"</string>
@@ -1683,6 +1683,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Unesite naziv jezika"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Predloženo"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Svi jezici"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Sve regije"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Pretraži"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Radni je način ISKLJUČEN"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Omogućuje radnom profilu da funkcionira, uključujući aplikacije, sinkronizaciju u pozadini i povezane značajke."</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index ebdae0f..5498061 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Koppintson a nyelv és a billentyűzetkiosztás kiválasztásához"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"jelöltek"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> előkészítése"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Hibák keresése"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Új <xliff:g id="NAME">%s</xliff:g> észlelve"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Csatlakozva ide: <xliff:g id="SESSION">%s</xliff:g>. Érintse meg a hálózat kezeléséhez."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Csatlakozás a mindig bekapcsolt VPN-hez..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Csatlakozva a mindig bekapcsolt VPN-hez"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Kapcsolat bontva a mindig bekapcsolt VPN-nel"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Hiba a mindig bekapcsolt VPN-nel"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Koppintson a konfiguráláshoz"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Koppintson ide a beállításhoz"</string>
<string name="upload_file" msgid="2897957172366730416">"Fájl kiválasztása"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nincs fájl kiválasztva"</string>
<string name="reset" msgid="2448168080964209908">"Alaphelyzet"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Adja meg a nyelvet"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Javasolt"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Minden nyelv"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Minden régió"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Keresés"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"A munka mód KI van kapcsolva"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Munkaprofil használatának engedélyezése, beleértve az alkalmazásokat, a háttérben való szinkronizálást és a kapcsolódó funkciókat."</string>
diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml
index 7178c5f..2b59f7e 100644
--- a/core/res/res/values-hy-rAM/strings.xml
+++ b/core/res/res/values-hy-rAM/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Հպեք՝ լեզուն և դասավորությունն ընտրելու համար"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՈՒՓՔԵւՕՖ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"թեկնածուները"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g>-ի նախապատրաստում"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Սխալների ստուգում"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Հայտնաբերվել է նոր <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Կապակացված է <xliff:g id="SESSION">%s</xliff:g>-ին: Սեղմեք` ցանցը կառավարելու համար:"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Միշտ-միացված VPN-ը կապվում է..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Միշտ-առցանց VPN-ը կապակցված է"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"«Միշտ միացված VPN»-ն անջատված է"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"VPN սխալը միշտ միացված"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Հպեք՝ կազմաձևելու համար"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Հպեք՝ կարգավորելու համար"</string>
<string name="upload_file" msgid="2897957172366730416">"Ընտրել ֆայլը"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Ոչ մի ֆայլ չի ընտրված"</string>
<string name="reset" msgid="2448168080964209908">"Վերակայել"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Մուտքագրեք լեզուն"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Առաջարկներ"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Բոլոր լեզուները"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Բոլոր տարածաշրջանները"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Որոնում"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Աշխատանքային ռեժիմն ԱՆՋԱՏՎԱԾ Է"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Միացնել աշխատանքային պրոֆիլը՝ հավելվածները, ֆոնային համաժամեցումը և առնչվող գործառույթները"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 41902b5..a817b32 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Ketuk untuk memilih bahasa dan tata letak"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"calon"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Menyiapkan <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Memeriksa kesalahan"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> baru terdeteksi"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Tersambung ke <xliff:g id="SESSION">%s</xliff:g>. Ketuk untuk mengelola jaringan."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Menyambungkan VPN selalu aktif..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN selalu aktif tersambung"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"VPN selalu aktif terputus"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Kesalahan VPN selalu aktif"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Ketuk untuk mengonfigurasi"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Ketuk untuk menyiapkan"</string>
<string name="upload_file" msgid="2897957172366730416">"Pilih file"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Tidak ada file yang dipilih"</string>
<string name="reset" msgid="2448168080964209908">"Setel ulang"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Ketik nama bahasa"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Disarankan"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Semua bahasa"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Semua wilayah"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Telusuri"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Mode kerja NONAKTIF"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Izinkan profil kerja berfungsi, termasuk aplikasi, sinkronisasi latar belakang, dan fitur terkait."</string>
diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml
index 34165ba..339ee6a 100644
--- a/core/res/res/values-is-rIS/strings.xml
+++ b/core/res/res/values-is-rIS/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Ýttu til að velja tungumál og útlit"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"möguleikar"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Undirbýr <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Leitar að villum"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nýtt <xliff:g id="NAME">%s</xliff:g> fannst"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Tengt við <xliff:g id="SESSION">%s</xliff:g>. Ýttu til að hafa umsjón með netinu."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Sívirkt VPN tengist…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Sívirkt VPN tengt"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Sívirkt VPN aftengt"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Villa í sívirku VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Ýttu til að stilla"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Ýttu til að setja upp"</string>
<string name="upload_file" msgid="2897957172366730416">"Velja skrá"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Engin skrá valin"</string>
<string name="reset" msgid="2448168080964209908">"Endurstilla"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Sláðu inn heiti tungumáls"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Tillögur"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Öll tungumál"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Öll svæði"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Leita"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Slökkt á vinnusniði"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Leyfa virkni vinnusniðs, m.a. forrita, samstillingar í bakgrunni og tengdra eiginleika."</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 5668e6d..1c909b7 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tocca per selezionare la lingua e il layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidati"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparazione della <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Ricerca errori"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nuova <xliff:g id="NAME">%s</xliff:g> rilevata"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Collegata a <xliff:g id="SESSION">%s</xliff:g>. Tocca per gestire la rete."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Connessione a VPN sempre attiva…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN sempre attiva connessa"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"VPN sempre attiva disconnessa"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Errore VPN sempre attiva"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Tocca per configurare"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tocca per configurare"</string>
<string name="upload_file" msgid="2897957172366730416">"Scegli file"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nessun file è stato scelto"</string>
<string name="reset" msgid="2448168080964209908">"Reimposta"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Digita nome lingua"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Suggerite"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Tutte le lingue"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Tutte le aree geografiche"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Cerca"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Modalità Lavoro DISATTIVATA"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Attiva il profilo di lavoro, incluse app, sincronizzazione in background e funzioni correlate."</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 19f3953..1f873ac 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -1214,7 +1214,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"הקש כדי לבחור שפה ופריסה"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"מועמדים"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"הכנת <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"בודק אם יש שגיאות"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"זוהה <xliff:g id="NAME">%s</xliff:g> חדש"</string>
@@ -1293,8 +1292,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"מחובר אל <xliff:g id="SESSION">%s</xliff:g>. הקש כדי לנהל את הרשת."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ה-VPN שמופעל תמיד, מתחבר..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"ה-VPN שפועל תמיד, מחובר"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"חיבור תמידי ל-VPN מנותק"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"שגיאת VPN שמופעל תמיד"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"הקש כדי להגדיר"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"הקש כדי להגדיר"</string>
<string name="upload_file" msgid="2897957172366730416">"בחר קובץ"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"לא נבחר קובץ"</string>
<string name="reset" msgid="2448168080964209908">"איפוס"</string>
@@ -1719,6 +1719,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"הקלד שם שפה"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"הצעות"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"כל השפות"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"כל האזורים"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"חיפוש"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"מצב העבודה כבוי"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"אפשר לפרופיל העבודה לפעול, כולל אפליקציות, סנכרון ברקע ותכונות קשורות."</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 23e9535..682766b 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -374,7 +374,7 @@
<string name="permdesc_callPhone" msgid="3740797576113760827">"電話番号への自動発信をアプリに許可します。これにより、予期せぬ発信や料金が発生する可能性があります。なお、緊急通報番号への発信は許可されません。悪意のあるアプリが確認なしで発信し、料金が発生する恐れがあります。"</string>
<string name="permlab_accessImsCallService" msgid="3574943847181793918">"IMS通話サービスへのアクセス"</string>
<string name="permdesc_accessImsCallService" msgid="8992884015198298775">"IMSサービスがユーザー操作なしで電話をかけることをアプリに許可します。"</string>
- <string name="permlab_readPhoneState" msgid="9178228524507610486">"端末のステータスとIDの読み取り"</string>
+ <string name="permlab_readPhoneState" msgid="9178228524507610486">"端末情報と ID の読み取り"</string>
<string name="permdesc_readPhoneState" msgid="1639212771826125528">"端末の電話機能へのアクセスをアプリに許可します。これにより、電話番号、端末ID、通話中かどうか、通話相手の電話番号をアプリから特定できるようになります。"</string>
<string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"タブレットのスリープを無効化"</string>
<string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"テレビのスリープを無効化"</string>
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"タップして言語とレイアウトを選択してください"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"候補"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g>を準備中"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"エラーを確認中"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"新しい<xliff:g id="NAME">%s</xliff:g>が検出されました"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g>に接続しました。ネットワークを管理するにはタップしてください。"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPNに常時接続しています…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPNに常時接続しました"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"常時接続 VPN の接続を解除しました"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"常時接続VPNのエラー"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"タップして設定"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"設定するにはタップします"</string>
<string name="upload_file" msgid="2897957172366730416">"ファイルを選択"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ファイルが選択されていません"</string>
<string name="reset" msgid="2448168080964209908">"リセット"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"言語名を入力"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"言語の候補"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"すべての言語"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"すべての地域"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"検索"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Work モード OFF"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"仕事用プロファイルで、アプリ、バックグラウンド同期などの関連機能の使用を許可します。"</string>
diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml
index fbe1b00..5cbf001 100644
--- a/core/res/res/values-ka-rGE/strings.xml
+++ b/core/res/res/values-ka-rGE/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"შეეხეთ ენისა და განლაგების ასარჩევად"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"კანდიდატები"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g>-ის მომზადება"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"შეცდომების შემოწმება"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"აღმოჩენილია ახალი <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"მიერთებულია <xliff:g id="SESSION">%s</xliff:g>-ზე. შეეხეთ ქსელის სამართავად."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"მიმდინარეობს მუდმივად ჩართული VPN-ის მიერთება…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"მუდმივად ჩართული VPN-ის მიერთებულია"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"მუდმივად ჩართული VPN გათიშულია"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"შეცდომა მუდამ VPN-ზე"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"შეეხეთ პარამეტრების კონფიგურაციისთვის"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"შეეხეთ დასაყენებლად"</string>
<string name="upload_file" msgid="2897957172366730416">"ფაილის არჩევა"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ფაილი არჩეული არ არის"</string>
<string name="reset" msgid="2448168080964209908">"საწყისზე დაბრუნება"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"აკრიფეთ ენის სახელი"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"რეკომენდებული"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"ყველა ენა"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"ყველა რეგიონი"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"ძიება"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"სამსახურის რეჟიმი გამორთულია"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"სამსახურის პროფილის მუშაობის დაშვება, მათ შორის, აპების, ფონური სინქრონიზაციის და დაკავშირებული ფუნქციების."</string>
diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml
index 11497b9..c7c91af 100644
--- a/core/res/res/values-kk-rKZ/strings.xml
+++ b/core/res/res/values-kk-rKZ/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Тіл мен пернетақта схемасын таңдау үшін түртіңіз"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"үміткерлер"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> дайындалуда"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Қателер тексерілуде"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Жаңа <xliff:g id="NAME">%s</xliff:g> анықталды"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> жүйесіне жалғанған. Желіні басқару үшін түріңіз."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Әрқашан қосылған ВЖЖ жалғануда…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Әрқашан қосылған ВЖЖ жалғанған"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Әрқашан қосулы VPN желісі ажыратылды"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Әрқашан қосылған ВЖЖ қателігі"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Конфигурациялау үшін түртіңіз"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Реттеу үшін түртіңіз"</string>
<string name="upload_file" msgid="2897957172366730416">"Файлды таңдау"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Ешқандай файл таңдалмаған"</string>
<string name="reset" msgid="2448168080964209908">"Қайта реттеу"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Тіл атауын теріңіз"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Ұсынылған"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Барлық тілдер"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Барлық аймақтар"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Іздеу"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Жұмыс режимі ӨШІРУЛІ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Жұмыс профиліне, соның ішінде, қолданбаларға, фондық синхрондауға және қатысты мүмкіндіктерге жұмыс істеуге рұқсат ету."</string>
diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml
index 85fb303..54889fa 100644
--- a/core/res/res/values-km-rKH/strings.xml
+++ b/core/res/res/values-km-rKH/strings.xml
@@ -1166,7 +1166,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ប៉ះដើម្បីជ្រើសភាសា និងប្លង់"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"បេក្ខជន"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"កំពុងរៀបចំ <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"កំពុងពិនិត្យរកកំហុស"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"បានរកឃើញ <xliff:g id="NAME">%s</xliff:g> ថ្មី"</string>
@@ -1245,8 +1244,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"បានភ្ជាប់ទៅ <xliff:g id="SESSION">%s</xliff:g> ។ ប៉ះ ដើម្បីគ្រប់គ្រងបណ្ដាញ។"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"បើកការតភ្ជាប់ VPN ជានិច្ច..។"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"ភ្ជាប់ VPN ជានិច្ច"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"បានផ្តាច់ VPN ដែលបើកជានិច្ច"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"បើកកំហុស VPN ជានិច្ច"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"ប៉ះដើម្បីកំណត់រចនាសម្ព័ន្ធ"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"ប៉ះដើម្បីដំឡើង"</string>
<string name="upload_file" msgid="2897957172366730416">"ជ្រើសឯកសារ"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"គ្មានឯកសារបានជ្រើស"</string>
<string name="reset" msgid="2448168080964209908">"កំណត់ឡើងវិញ"</string>
@@ -1649,6 +1649,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"វាយបញ្ចូលឈ្មោះភាសា"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"បានស្នើ"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"ភាសាទាំងអស់"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"ស្វែងរក"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"របៀបការងារបានបិទ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"អនុញ្ញាតឲ្យប្រវត្តិរូបការងារដំណើរការ ដោយរាប់បញ្ចូលទាំងកម្មវិធី ការធ្វើសមកាលកម្មផ្ទៃខាងក្រោយ និងលក្ខណៈពិសេសដែលពាក់ព័ន្ធ។"</string>
diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml
index ab37751..60d42b2 100644
--- a/core/res/res/values-kn-rIN/strings.xml
+++ b/core/res/res/values-kn-rIN/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ಭಾಷೆ ಮತ್ತು ವಿನ್ಯಾಸವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"ಅಭ್ಯರ್ಥಿಗಳು"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> ಅನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತಿದೆ"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"ದೋಷಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"ಹೊಸ <xliff:g id="NAME">%s</xliff:g> ಪತ್ತೆಯಾಗಿದೆ"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> ಗೆ ಸಂಪರ್ಕಗೊಂಡಿದೆ. ನೆಟ್ವರ್ಕ್ ನಿರ್ವಹಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ಯಾವಾಗಲೂ-ಆನ್ VPN ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತಿದೆ…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"ಯಾವಾಗಲೂ-ಆನ್ VPN ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"ಯಾವಾಗಲೂ-ಆನ್ VPN ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"ಯಾವಾಗಲೂ-ಆನ್ VPN ದೋಷ"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"ಹೊಂದಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="upload_file" msgid="2897957172366730416">"ಫೈಲ್ ಆಯ್ಕೆಮಾಡು"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ಯಾವುದೇ ಫೈಲ್ ಆಯ್ಕೆ ಮಾಡಿಲ್ಲ"</string>
<string name="reset" msgid="2448168080964209908">"ಮರುಹೊಂದಿಸು"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"ಭಾಷೆ ಹೆಸರನ್ನು ಟೈಪ್ ಮಾಡಿ"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"ಸೂಚಿತ ಭಾಷೆ"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"ಎಲ್ಲಾ ಭಾಷೆಗಳು"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"ಎಲ್ಲಾ ಪ್ರದೇಶಗಳು"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"ಹುಡುಕು"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"ಕೆಲಸದ ಮೋಡ್ ಆಫ್ ಆಗಿದೆ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಹಿನ್ನೆಲೆ ಸಿಂಕ್ ಮತ್ತು ಇತರ ಸಂಬಂಧಿತ ವೈಶಿಷ್ಟ್ಯಗಳು ಸೇರಿದಂತೆ ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಅನುಮತಿಸಿ."</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index 1df55c9..e661c65 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"탭하여 언어와 레이아웃을 선택하세요."</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"가능한 원인"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> 준비 중"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"오류 확인 중"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"새로운 <xliff:g id="NAME">%s</xliff:g> 감지됨"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g>에 연결되어 있습니다. 네트워크를 관리하려면 누르세요."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"연결 유지 VPN에 연결하는 중…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"연결 유지 VPN에 연결됨"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"연결 유지 VPN 연결 해제됨"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"연결 유지 VPN 오류"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"설정하려면 탭하세요."</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"탭하여 설정"</string>
<string name="upload_file" msgid="2897957172366730416">"파일 선택"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"파일을 선택하지 않았습니다."</string>
<string name="reset" msgid="2448168080964209908">"초기화"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"언어 이름 입력"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"추천"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"모든 언어"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"검색"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"직장 모드가 사용 중지됨"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"앱, 백그라운드 동기화 및 관련 기능을 포함한 직장 프로필이 작동하도록 허용"</string>
diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml
index 9e0c6cf..6a0089f 100644
--- a/core/res/res/values-ky-rKG/strings.xml
+++ b/core/res/res/values-ky-rKG/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Тил жана калып тандоо үчүн таптап коюңуз"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"талапкерлер"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> даярдалууда"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Каталар текшерилүүдө"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Жаңы <xliff:g id="NAME">%s</xliff:g> аныкталды"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> сеансына туташуу ишке ашты. Желенин параметрлерин өзгөртүү үчүн бул жерди басыңыз."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Дайым иштеген VPN туташууда…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Дайым иштеген VPN туташтырылды"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Дайым иштеген VPN ажыратылды"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Дайым иштеген VPN\'де ката кетти"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Конфигурациялоо үчүн таптап коюңуз"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Жөндөө үчүн таптаңыз"</string>
<string name="upload_file" msgid="2897957172366730416">"Файл тандоо"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Эч файл тандалган жок"</string>
<string name="reset" msgid="2448168080964209908">"Баштапкы абалга келтирүү"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Тилди киргизиңиз"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Сунушталган"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Бардык тилдер"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Издөө"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Жумуш режими ӨЧҮРҮЛГӨН"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Жумуш профилин, ошондой эле колдонмолорду, фондо шайкештирүү жана ага байланыштуу функцияларды иштетиңиз."</string>
diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml
index dbf4044..38b4474 100644
--- a/core/res/res/values-lo-rLA/strings.xml
+++ b/core/res/res/values-lo-rLA/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ແຕະເພື່ອເລືອກພາສາ ແລະ ໂຄງແປ້ນພິມ"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"ຕົວເລືອກ"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"ກຳລັງກຽມ <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"ກຳລັງກວດຫາຂໍ້ຜິດພາດ"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"ກວດພົບ <xliff:g id="NAME">%s</xliff:g> ໃໝ່ແລ້ວ"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"ເຊື່ອມຕໍ່ກັບ <xliff:g id="SESSION">%s</xliff:g> ແລ້ວ. ແຕະເພື່ອຈັດການເຄືອຂ່າຍ."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ກຳລັງເຊື່ອມຕໍ່ Always-on VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"ເຊື່ອມຕໍ່ VPN ແບບເປີດຕະຫຼອດເວລາແລ້ວ"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"ຕັດການເຊື່ອມຕໍ່ VPN ແບບເປີດໃຊ້ຕະຫຼອດເວລາແລ້ວ"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"VPN ແບບເປີດຕະຫຼອດເກີດຄວາມຜິດພາດ"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"ແຕະເພື່ອຕັ້ງຄ່າ"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"ແຕະເພື່ອຕັ້ງຄ່າ"</string>
<string name="upload_file" msgid="2897957172366730416">"ເລືອກໄຟລ໌"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ບໍ່ໄດ້ເລືອກໄຟລ໌ເທື່ອ"</string>
<string name="reset" msgid="2448168080964209908">"ຣີເຊັດ"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"ພິມຊື່ພາສາ"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"ແນະນຳ"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"ທຸກພາສາ"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"ຄົ້ນຫາ"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"ໂໝດບ່ອນເຮັດວຽກປິດຢູ່"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"ອະນຸຍາດໃຫ້ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກສາມາດນຳໃຊ້ໄດ້ ເຊິ່ງຮວມທັງແອັບ, ການຊິ້ງຂໍ້ມູນໃນພື້ນຫຼັງ ແລະ ຄຸນສົມບັດທີ່ກ່ຽວຂ້ອງ."</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 7ab35aa..0406ee1 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -1214,7 +1214,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Palieskite, kad pasirinktumėte kalbą ir išdėstymą"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidatai"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Ruošiama <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Tikrinama, ar nėra klaidų"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Aptikta nauja <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1293,8 +1292,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Prisijungta prie <xliff:g id="SESSION">%s</xliff:g>. Jei norite valdyti tinklą, palieskite."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Prisijungiama prie visada įjungto VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Prisijungta prie visada įjungto VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Visada įjungtas VPN atjungtas"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Visada įjungto VPN klaida"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Palieskite, kad konfigūruotumėte"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Palieskite, kad nustatytumėte"</string>
<string name="upload_file" msgid="2897957172366730416">"Pasirinkti failą"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nepasirinktas joks failas"</string>
<string name="reset" msgid="2448168080964209908">"Atstatyti"</string>
@@ -1719,6 +1719,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Įveskite kalbos pav."</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Siūloma"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Visos kalbos"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Visi regionai"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Paieška"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Darbo režimas išjungtas"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Leisti veikti darbo profiliui, įskaitant programas, sinchronizavimą fone ir susijusias funkcijas."</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index e0c83c4..44368fb 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -1189,7 +1189,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Pieskarieties, lai atlasītu valodu un izkārtojumu"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidāti"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Notiek <xliff:g id="NAME">%s</xliff:g> sagatavošana"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Tiek meklētas kļūdas"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Tika atrasta jauna <xliff:g id="NAME">%s</xliff:g>."</string>
@@ -1268,8 +1267,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Ir izveidots savienojums ar: <xliff:g id="SESSION">%s</xliff:g>. Pieskarieties, lai pārvaldītu tīklu."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Notiek savienojuma izveide ar vienmēr ieslēgtu VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Izveidots savienojums ar vienmēr ieslēgtu VPN."</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Vienmēr ieslēgts VPN ir atvienots"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Kļūda saistībā ar vienmēr ieslēgtu VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Pieskarieties, lai konfigurētu."</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Pieskarieties, lai iestatītu."</string>
<string name="upload_file" msgid="2897957172366730416">"Izvēlēties failu"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Neviens fails nav izvēlēts"</string>
<string name="reset" msgid="2448168080964209908">"Atiestatīt"</string>
@@ -1683,6 +1683,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Ierakstiet valodas nosaukumu"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Ieteiktās"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Visas valodas"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Visi reģioni"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Meklēt"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Darba režīms IZSLĒGTS"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Atļaujiet darboties darba profilam, tostarp lietotnēm, sinhronizācijai fonā un saistītajām funkcijām."</string>
diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml
index 413fe0a..102c7a0 100644
--- a/core/res/res/values-mk-rMK/strings.xml
+++ b/core/res/res/values-mk-rMK/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Допрете за избирање јазик и распоред"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"кандидати"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Се подготвува <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Се проверува за грешки"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Откриена е нова <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Поврзани сте на <xliff:g id="SESSION">%s</xliff:g>. Допрете за да управувате со мрежата."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Поврзување со секогаш вклучена VPN..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Поврзани со секогаш вклучена VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Секогаш вклучената VPN е неповрзана"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Грешка на секогаш вклучена VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Допрете за конфигурирање"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Допрете за да поставите"</string>
<string name="upload_file" msgid="2897957172366730416">"Избери датотека"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Не е избрана датотека"</string>
<string name="reset" msgid="2448168080964209908">"Ресетирај"</string>
@@ -1649,6 +1649,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Внеси име на јазик"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Предложени"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Сите јазици"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Сите региони"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Пребарај"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Режимот на работа е ИСКЛУЧЕН"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Дозволете работниот профил да функционира, вклучувајќи ги апликациите, синхронизирањето во заднина и други поврзани функции."</string>
diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml
index 2d416ba..a4d3fab 100644
--- a/core/res/res/values-ml-rIN/strings.xml
+++ b/core/res/res/values-ml-rIN/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ഭാഷയും ലേഔട്ടും തിരഞ്ഞെടുക്കുന്നതിന് ടാപ്പുചെയ്യുക"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"കാൻഡിഡേറ്റുകൾ"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> തയ്യാറാകുന്നു"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"പിശകുകളുണ്ടോയെന്നു പരിശോധിക്കുന്നു"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"പുതിയ <xliff:g id="NAME">%s</xliff:g> എന്നതിനെ തിരിച്ചറിഞ്ഞു"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> എന്ന സെഷനിലേക്ക് കണക്റ്റുചെയ്തു. നെറ്റ്വർക്ക് മാനേജുചെയ്യാൻ ടാപ്പുചെയ്യുക."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN കണക്റ്റുചെയ്യുന്നു…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN കണക്റ്റുചെയ്തു"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"\'എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN\' വിച്ഛേദിച്ചു"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN പിശക്"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"കോൺഫിഗർ ചെയ്യുന്നതിന് ടാപ്പുചെയ്യുക"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"സജ്ജമാക്കാൻ ടാപ്പുചെയ്യുക"</string>
<string name="upload_file" msgid="2897957172366730416">"ഫയല് തിരഞ്ഞെടുക്കുക"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ഫയലൊന്നും തിരഞ്ഞെടുത്തില്ല"</string>
<string name="reset" msgid="2448168080964209908">"പുനഃസജ്ജമാക്കുക"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"ഭാഷയുടെ പേര് ടൈപ്പുചെയ്യുക"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"നിര്ദ്ദേശിച്ചത്"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"എല്ലാ ഭാഷകളും"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"തിരയുക"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"ഔദ്യോഗിക മോഡ് ഓഫാണ്"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"ആപ്സും, പശ്ചാത്തല സമന്വയവും ബന്ധപ്പെട്ട ഫീച്ചറുകളും ഉൾപ്പെടെ, ഔദ്യോഗിക പ്രൊഫൈലിനെ പ്രവർത്തിക്കാൻ അനുവദിക്കുക."</string>
diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml
index ac0d241..1e8c39c 100644
--- a/core/res/res/values-mn-rMN/strings.xml
+++ b/core/res/res/values-mn-rMN/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Хэл болон бүдүүвчийг сонгохын тулд дарна уу"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"нэр дэвшигч"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g>-ыг бэлдэж байна"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Алдааг шалгаж байна"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Шинэ <xliff:g id="NAME">%s</xliff:g> илэрлээ"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g>-д холбогдов. Сүлжээг удирдах бол товшино уу."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Байнгын VPN-д холбогдож байна..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Байнга VPN холбоотой"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Тогтмол асаалттай VPN салсан"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Байнгын VPN алдаа"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Тохируулахын тулд товшино уу"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Тохируулахын тулд товшино уу"</string>
<string name="upload_file" msgid="2897957172366730416">"Файл сонгох"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Сонгосон файл байхгүй"</string>
<string name="reset" msgid="2448168080964209908">"Бүгдийг цэвэрлэх"</string>
@@ -1645,6 +1645,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Улсын хэлийг бичнэ үү"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Санал болгосон"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Бүх хэл"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Бүх бүс нутаг"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Хайх"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Ажлын горимыг УНТРААСАН байна"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Ажлын профайлд апп, дэвсгэр синхрончлол болон бусад холбоотой тохиргоог ажиллахыг зөвшөөрнө үү."</string>
diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml
index ffbecb2..8dc710e 100644
--- a/core/res/res/values-mr-rIN/strings.xml
+++ b/core/res/res/values-mr-rIN/strings.xml
@@ -1078,7 +1078,7 @@
<string name="wifi_no_internet_detailed" msgid="8083079241212301741">"पर्यायांसाठी टॅप करा"</string>
<string name="network_switch_metered" msgid="4671730921726992671">"<xliff:g id="NETWORK_TYPE">%1$s</xliff:g> वर स्विच केले"</string>
<string name="network_switch_metered_detail" msgid="5325661434777870353">"<xliff:g id="PREVIOUS_NETWORK">%2$s</xliff:g> कडे इंटरनेट प्रवेश नसताना डिव्हाइस <xliff:g id="NEW_NETWORK">%1$s</xliff:g> वापरतो. शुल्क लागू शकतील."</string>
- <string name="network_switch_metered_toast" msgid="5779283181685974304">"<xliff:g id="PREVIOUS_NETWORK">%1$s</xliff:g> पासून <xliff:g id="NEW_NETWORK">%2$s</xliff:g> पर्यंत स्विच केले"</string>
+ <string name="network_switch_metered_toast" msgid="5779283181685974304">"<xliff:g id="PREVIOUS_NETWORK">%1$s</xliff:g> वरून <xliff:g id="NEW_NETWORK">%2$s</xliff:g> वर स्विच केले"</string>
<string-array name="network_switch_type_name">
<item msgid="2952042958050315394">"मोबाइल डेटा"</item>
<item msgid="75483255295529161">"वाय-फाय"</item>
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"भाषा आणि लेआउट निवडण्यासाठी टॅप करा"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"उमेदवार"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> तयार करीत आहे"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"त्रुटींसाठी तपासत आहे"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"नवीन <xliff:g id="NAME">%s</xliff:g> आढळले"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> शी कनेक्ट केले. नेटवर्क व्यवस्थापित करण्यासाठी टॅप करा."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN कनेक्ट करणे नेहमी-चालू…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN कनेक्ट केलेले नेहमी-चालू"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"नेहमी-चालू असलेले VPN डिस्कनेक्ट केले"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"VPN त्रुटी नेहमी-चालू"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"कॉन्फिगर करण्यासाठी टॅप करा"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"सेट करण्यासाठी टॅप करा"</string>
<string name="upload_file" msgid="2897957172366730416">"फाईल निवडा"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"फाईल निवडली नाही"</string>
<string name="reset" msgid="2448168080964209908">"रीसेट करा"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"भाषा नाव टाइप करा"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"सूचित केलेले"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"सर्व भाषा"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"सर्व प्रदेश"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"शोध"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"कार्य मोड बंद आहे"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"कार्य प्रोफाइलला अॅप्स, पार्श्वभूमी संकालन आणि संबंधित वैशिष्ट्यांच्या समावेशासह कार्य करण्याची परवानगी द्या."</string>
diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml
index b2589e5..6050c9a 100644
--- a/core/res/res/values-ms-rMY/strings.xml
+++ b/core/res/res/values-ms-rMY/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Ketik untuk memilih bahasa dan susun atur"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"calon"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Menyediakan <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Menyemak untuk mengesan ralat"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> baharu dikesan"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Bersambung kepada <xliff:g id="SESSION">%s</xliff:g>. Ketik untuk mengurus rangkaian."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN sentiasa hidup sedang disambungkan..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN sentiasa hidup telah disambungkan"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"VPN sentiasa hidup diputuskan sambungannya"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Ralat VPN sentiasa hidup"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Ketik untuk membuat konfigurasi"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Ketik untuk menyediakan"</string>
<string name="upload_file" msgid="2897957172366730416">"Pilih fail"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Tiada fail dipilih"</string>
<string name="reset" msgid="2448168080964209908">"Tetapkan semula"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Taipkan nama bahasa"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Dicadangkan"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Semua bahasa"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Cari"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Mod kerja DIMATIKAN"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Benarkan profil kerja berfungsi, termasuk apl, penyegerakan latar belakang dan ciri yang berkaitan."</string>
diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml
index 09391436..3ed76a9 100644
--- a/core/res/res/values-my-rMM/strings.xml
+++ b/core/res/res/values-my-rMM/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ဘာသာစကားနှင့် အသွင်အပြင်ရွေးချယ်ရန် တို့ပါ"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"ရွေးချယ်ခံမည့်သူ"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> ပြင်ဆင်နေသည်"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"အမှားအယွင်းများ စစ်ဆေးနေသည်"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> အသစ်တွေ့ရှိပါသည်"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> သို့ ချိတ်ဆက်ထားသည်။ ကွန်ရက်ကို စီမံခန့်ခွဲရန် တို့ပါ။"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"အမြဲတမ်းဖွင့်ထား VPN ဆက်သွယ်နေစဉ်…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"အမြဲတမ်းဖွင့်ထား VPN ဆက်သွယ်မှုရှိ"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"အမြဲတမ်းဖွင့်ထားရသော VPN ပြတ်တောက်နေသည်"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"အမြဲတမ်းဖွင့်ထား VPN အမှား"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"ပြင်ဆင်သတ်မှတ်ရန် တို့ပါ"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"ပြင်ဆင်သတ်မှတ်ရန် တို့ပါ"</string>
<string name="upload_file" msgid="2897957172366730416">"ဖိုင်ရွေးချယ်ရန်"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"မည်သည့်ဖိုင်ကိုမှမရွေးပါ"</string>
<string name="reset" msgid="2448168080964209908">"ပြန်လည်သတ်မှတ်ရန်"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"ဘာသာစကားအမည် ထည့်ပါ"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"အကြံပြုထားသော"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"ဘာသာစကားများအားလုံး"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"ဒေသအားလုံး"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"ရှာဖွေရန်"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"အလုပ်မုဒ် ပိတ်ထားသည်"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"အက်ပ်များ၊ နောက်ခံစင့်ခ်လုပ်ခြင်း၊ နှင့်သက်ဆိုင်သည့်အင်္ဂါရပ်များကို ဆောင်ရွက်ရန် အလုပ်ပရိုဖိုင်ကိုခွင့်ပြုပါ။"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index ab83793..55b2260 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Trykk for å velge språk og layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"</string>
- <string name="candidates_style" msgid="4333913089637062257">"TAG_FONT"<u>"kandidater"</u>"CLOSE_FONT"</string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Forbereder <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Sjekker for feil"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> ble oppdaget"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Koblet til <xliff:g id="SESSION">%s</xliff:g>. Trykk for å administrere nettverket."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Alltid-på VPN kobler til ..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Alltid-på VPN er tilkoblet"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Alltid på-VPN er frakoblet"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Alltid-på VPN-feil"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Trykk for å konfigurere"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Trykk for å konfigurere"</string>
<string name="upload_file" msgid="2897957172366730416">"Velg fil"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Ingen fil er valgt"</string>
<string name="reset" msgid="2448168080964209908">"Tilbakestill"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Skriv inn språknavn"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Foreslått"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Alle språk"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Alle områder"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Søk"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Jobbmodus er AV"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Slå på jobbprofilen, inkludert apper, synkronisering i bakgrunnen og relaterte funksjoner."</string>
diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml
index 39acf6b..c0d4473 100644
--- a/core/res/res/values-ne-rNP/strings.xml
+++ b/core/res/res/values-ne-rNP/strings.xml
@@ -1170,7 +1170,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"भाषा र लेआउट चयन गर्न ट्याप गर्नुहोस्"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"उम्मेदवार"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"तयारी गर्दै <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"त्रुटिहरूको लागि जाँच गर्दै"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"नयाँ <xliff:g id="NAME">%s</xliff:g> भेटियो"</string>
@@ -1249,8 +1248,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g>सँग जोडिएको। नेटवर्क प्रबन्ध गर्न हान्नुहोस्।"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN जडान सधै जोड्दै…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"सधैँ खुल्ला हुने VPN जोडिएको"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"सधैँ-सक्रिय VPN लाई विच्छेद गरियो"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"सधैँ भरि VPN त्रुटिमा"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"कन्फिगर गर्न ट्याप गर्नुहोस्"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"सेट अप गर्न ट्याप गर्नुहोस्"</string>
<string name="upload_file" msgid="2897957172366730416">"फाइल छान्नुहोस्"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"कुनै फाइल छानिएको छैन"</string>
<string name="reset" msgid="2448168080964209908">"पुनःसेट गर्नु"</string>
@@ -1653,6 +1653,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"भाषाको नाम टाइप गर्नुहोस्"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"सुझाव दिइयो"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"सम्पूर्ण भाषाहरू"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"सबै क्षेत्रहरू"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"खोज"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"कार्य मोड बन्द छ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"अनुप्रयोग, पृष्ठभूमि सिंक र सम्बन्धित विशेषताहरू सहित, कार्य प्रोफाइललाई कार्य गर्न अनुमति दिनुहोस्।"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 99cc80f..183d866 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tik om een taal en indeling te selecteren"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidaten"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> voorbereiden"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Controleren op fouten"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nieuwe <xliff:g id="NAME">%s</xliff:g> gedetecteerd"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Verbonden met <xliff:g id="SESSION">%s</xliff:g>. Tik om het netwerk te beheren."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Always-on VPN-verbinding maken…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Always-on VPN-verbinding"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Always-on VPN-verbinding ontkoppeld"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Fout met Always-on VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Tik om te configureren"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tik om in te stellen"</string>
<string name="upload_file" msgid="2897957172366730416">"Bestand kiezen"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Geen bestand geselecteerd"</string>
<string name="reset" msgid="2448168080964209908">"Resetten"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Typ een taalnaam"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Voorgesteld"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Alle talen"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Alle regio\'s"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Zoeken"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Werkmodus is UIT"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Functioneren van werkprofiel toestaan, waaronder apps, synchronisatie op de achtergrond en gerelateerde functies."</string>
diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml
index f6f9d8a..210ef8b 100644
--- a/core/res/res/values-pa-rIN/strings.xml
+++ b/core/res/res/values-pa-rIN/strings.xml
@@ -1076,9 +1076,9 @@
<skip />
<string name="wifi_no_internet" msgid="8451173622563841546">"Wi-Fi ਦੀ ਕੋਈ ਇੰਟਰਨੈਟ ਪਹੁੰਚ ਨਹੀਂ ਹੈ"</string>
<string name="wifi_no_internet_detailed" msgid="8083079241212301741">"ਵਿਕਲਪਾਂ ਲਈ ਟੈਪ ਕਰੋ"</string>
- <string name="network_switch_metered" msgid="4671730921726992671">"<xliff:g id="NETWORK_TYPE">%1$s</xliff:g> \'ਤੇ ਬਦਲੀ ਕੀਤੀ ਗਈ"</string>
+ <string name="network_switch_metered" msgid="4671730921726992671">"ਬਦਲਕੇ <xliff:g id="NETWORK_TYPE">%1$s</xliff:g> ਲਿਆਂਦਾ ਗਿਆ"</string>
<string name="network_switch_metered_detail" msgid="5325661434777870353">"<xliff:g id="PREVIOUS_NETWORK">%2$s</xliff:g> ਦੀ ਇੰਟਰਨੈੱਟ \'ਤੇ ਪਹੁੰਚ ਨਾ ਹੋਣ \'ਤੇ ਡੀਵਾਈਸ <xliff:g id="NEW_NETWORK">%1$s</xliff:g> ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਖਰਚੇ ਲਾਗੂ ਹੋ ਸਕਦੇ ਹਨ।"</string>
- <string name="network_switch_metered_toast" msgid="5779283181685974304">"<xliff:g id="PREVIOUS_NETWORK">%1$s</xliff:g> ਤੋਂ <xliff:g id="NEW_NETWORK">%2$s</xliff:g> \'ਤੇ ਬਦਲੀ ਕੀਤੀ ਗਈ"</string>
+ <string name="network_switch_metered_toast" msgid="5779283181685974304">"<xliff:g id="PREVIOUS_NETWORK">%1$s</xliff:g> ਤੋਂ ਬਦਲਕੇ <xliff:g id="NEW_NETWORK">%2$s</xliff:g> \'ਤੇ ਕੀਤਾ ਗਿਆ"</string>
<string-array name="network_switch_type_name">
<item msgid="2952042958050315394">"ਸੈਲਿਊਲਰ ਡੈਟਾ"</item>
<item msgid="75483255295529161">"Wi-Fi"</item>
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"ਭਾਸ਼ਾ ਅਤੇ ਖਾਕਾ ਚੁਣਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"ਉਮੀਦਵਾਰ"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> ਤਿਆਰ ਹੋ ਰਿਹਾ ਹੈ"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"ਤਰੁੱਟੀਆਂ ਦੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"ਨਵੇਂ <xliff:g id="NAME">%s</xliff:g> ਦਾ ਪਤਾ ਲਗਾਇਆ ਗਿਆ"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ। ਨੈੱਟਵਰਕ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਕਨੈਕਟ ਕੀਤਾ"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN ਡਿਸਕਨੈਕਟ ਕੀਤਾ ਗਿਆ"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਅਸ਼ੁੱਧੀ"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"ਸੰਰੂਪਣ ਲਈ ਟੈਪ ਕਰੋ"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"ਸਥਾਪਤ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
<string name="upload_file" msgid="2897957172366730416">"ਫਾਈਲ ਚੁਣੋ"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ਕੋਈ ਫਾਈਲ ਨਹੀਂ ਚੁਣੀ ਗਈ"</string>
<string name="reset" msgid="2448168080964209908">"ਰੀਸੈੱਟ ਕਰੋ"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"ਭਾਸ਼ਾ ਨਾਮ ਟਾਈਪ ਕਰੋ"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"ਸੁਝਾਈਆਂ ਗਈਆਂ"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"ਸਾਰੀਆਂ ਭਾਸ਼ਾਵਾਂ"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"ਸਾਰੇ ਖੇਤਰ"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"ਖੋਜ"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"ਕੰਮ ਮੋਡ ਬੰਦ ਹੈ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"ਐਪਾਂ, ਬੈਕਗ੍ਰਾਊਂਡ ਸਮਕਾਲੀਕਰਨ, ਅਤੇ ਸਬੰਧਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋਏ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਕੰਮ ਕਰਨ ਦੀ ਮਨਜ਼ੂਰੀ ਦਿਓ।"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 84ee0f8..e816708 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1214,7 +1214,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Kliknij, by wybrać język i układ"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandydaci"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Przygotowuję: <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Sprawdzanie w poszukiwaniu błędów"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Wykryto nowy nośnik: <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1293,8 +1292,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Nawiązano połączenie: <xliff:g id="SESSION">%s</xliff:g>. Dotknij, aby zarządzać siecią."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Łączę ze stałą siecią VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Połączono ze stałą siecią VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Rozłączono ze stałą siecią VPN"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Błąd stałej sieci VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Kliknij, by skonfigurować"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Kliknij, by skonfigurować"</string>
<string name="upload_file" msgid="2897957172366730416">"Wybierz plik"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nie wybrano pliku"</string>
<string name="reset" msgid="2448168080964209908">"Resetuj"</string>
@@ -1719,6 +1719,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Wpisz nazwę języka"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Sugerowane"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Wszystkie języki"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Wszystkie kraje"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Szukaj"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Tryb pracy jest WYŁĄCZONY"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Włącz profil do pracy, w tym aplikacje, synchronizację w tle i inne funkcje."</string>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 67398350..ae8c7e1 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toque para selecionar o idioma e o layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidatos"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Procurando erros"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novo <xliff:g id="NAME">%s</xliff:g> detectado"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Conectado a <xliff:g id="SESSION">%s</xliff:g>. Toque para gerenciar a rede."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN sempre ativa conectando..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN sempre ativa conectada"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"VPN sempre ativa desconectada"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Erro na VPN sempre ativa"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Toque para configurar"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Toque para configurar"</string>
<string name="upload_file" msgid="2897957172366730416">"Escolher arquivo"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nenhum arquivo escolhido"</string>
<string name="reset" msgid="2448168080964209908">"Redefinir"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Digitar nome do idioma"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Sugeridos"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Todos os idiomas"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Pesquisa"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Modo de trabalho DESATIVADO"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Permitir que o perfil de trabalho funcione, incluindo apps, sincronização em segundo plano e recursos relacionados"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 5e244a9..c8d7e4e 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toque para selecionar o idioma e o esquema"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidatos"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"A preparar o <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"A verificar a presença de erros"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novo <xliff:g id="NAME">%s</xliff:g> detetado"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Ligado a <xliff:g id="SESSION">%s</xliff:g>. Toque para gerir a rede."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"A ligar VPN sempre ativa..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN sempre ativa ligada"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"VPN sempre ativa desligada"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Erro da VPN sempre ativa"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Toque para configurar"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tocar para configurar"</string>
<string name="upload_file" msgid="2897957172366730416">"Escolher ficheiro"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Não foi selecionado nenhum ficheiro"</string>
<string name="reset" msgid="2448168080964209908">"Repor"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Intr. nome do idioma"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Sugeridos"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Todos os idiomas"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Todas as regiões"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Pesquisa"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Modo de trabalho DESATIVADO"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Permitir o funcionamento do perfil de trabalho, incluindo as aplicações, a sincronização em segundo plano e as funcionalidades relacionadas."</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 67398350..ae8c7e1 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Toque para selecionar o idioma e o layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidatos"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Preparando <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Procurando erros"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Novo <xliff:g id="NAME">%s</xliff:g> detectado"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Conectado a <xliff:g id="SESSION">%s</xliff:g>. Toque para gerenciar a rede."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN sempre ativa conectando..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN sempre ativa conectada"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"VPN sempre ativa desconectada"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Erro na VPN sempre ativa"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Toque para configurar"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Toque para configurar"</string>
<string name="upload_file" msgid="2897957172366730416">"Escolher arquivo"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nenhum arquivo escolhido"</string>
<string name="reset" msgid="2448168080964209908">"Redefinir"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Digitar nome do idioma"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Sugeridos"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Todos os idiomas"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Pesquisa"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Modo de trabalho DESATIVADO"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Permitir que o perfil de trabalho funcione, incluindo apps, sincronização em segundo plano e recursos relacionados"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 042ea62..c3c0d61 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1189,7 +1189,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Atingeți pentru a selecta limba și aspectul"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"candidați"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Se pregătește <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Se verifică dacă există erori"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"A fost detectat un nou <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1268,8 +1267,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Conectat la <xliff:g id="SESSION">%s</xliff:g>. Apăsați pentru a gestiona rețeaua."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Se efectuează conectarea la rețeaua VPN activată permanent…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Conectat(ă) la rețeaua VPN activată permanent"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Rețeaua VPN activată permanent a fost deconectată"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Eroare de rețea VPN activată permanent"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Atingeți ca să configurați"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Atingeți pentru a configura"</string>
<string name="upload_file" msgid="2897957172366730416">"Alegeți un fișier"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nu au fost găsite fișiere"</string>
<string name="reset" msgid="2448168080964209908">"Resetați"</string>
@@ -1683,6 +1683,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Numele limbii"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Sugerate"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Toate limbile"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Toate regiunile"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Căutați"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Modul de serviciu e DEZACTIVAT"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Permiteți profilului de serviciu să funcționeze, inclusiv aplicațiile, sincronizarea în fundal și funcțiile asociate."</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index bbb1488..5ca96e9 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -1214,7 +1214,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Нажмите, чтобы выбрать язык и раскладку"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"варианты"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Подготовка карты \"<xliff:g id="NAME">%s</xliff:g>\"…"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Поиск ошибок"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Обнаружена новая карта \"<xliff:g id="NAME">%s</xliff:g>\""</string>
@@ -1293,8 +1292,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Подключено: \"<xliff:g id="SESSION">%s</xliff:g>\". Нажмите здесь, чтобы изменить настройки сети."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Подключение…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Подключено"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Отключено"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Ошибка"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Нажмите, чтобы настроить."</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Нажмите, чтобы настроить"</string>
<string name="upload_file" msgid="2897957172366730416">"Выбрать файл"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Не выбран файл"</string>
<string name="reset" msgid="2448168080964209908">"Сбросить"</string>
@@ -1719,6 +1719,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Введите язык"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Рекомендуемые"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Все языки"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Все регионы"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Поиск"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Рабочий режим отключен"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Включить рабочий профиль: приложения, фоновую синхронизацию и связанные функции."</string>
diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml
index 5917d6d..8eabd5b 100644
--- a/core/res/res/values-si-rLK/strings.xml
+++ b/core/res/res/values-si-rLK/strings.xml
@@ -1166,7 +1166,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"භාෂාව හා පිරිසැලසුම තේරීමට තට්ටු කරන්න"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"අපේක්ෂකයන්"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> සූදානම් කරමින්"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"වැරදි සඳහා පරීක්ෂා කරමින්"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"නව <xliff:g id="NAME">%s</xliff:g> අනාවරණය කරන ලදි"</string>
@@ -1245,8 +1244,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> වෙත සම්බන්ධිතයි. ජාලය කළමනාකරණය කිරීමට තට්ටු කරන්න."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"සැමවිටම VPN සම්බන්ධ වෙමින්…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"නිරතුරුවම VPN සම්බන්ධ කර ඇත"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"සැමවිට ක්රියාත්මක VPN විසන්ධි කරන ලදී"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"සැමවිට සක්රිය VPN දෝෂය"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"වින්යාස කිරීමට තට්ටු කරන්න"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"පිහිටුවීමට තට්ටු කරන්න"</string>
<string name="upload_file" msgid="2897957172366730416">"ගොනුව තෝරන්න"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ගොනුවක් තෝරාගෙන නැත"</string>
<string name="reset" msgid="2448168080964209908">"යළි පිහිටුවන්න"</string>
@@ -1649,6 +1649,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"භාෂා නම ටයිප් කරන්න"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"යෝජිත"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"සියලු භාෂා"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"සියලු ප්රදේශ"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"සෙවීම"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"වැඩ ප්රකාරය ක්රියාවිරහිතයි"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"යෙදුම්, පසුබිම සමමුහුර්ත කිරීම, සහ සම්බන්ධිත විශේෂාංග ඇතුළුව, ක්රියා කිරීමට කාර්යාල පැතිකඩට ඉඩ දෙන්න"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 10a64fe..eca85e5 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1214,7 +1214,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Klepnutím vyberte jazyk a rozloženie"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" AÁÄBCČDĎDZDŽEÉFGHCHIÍJKLĽMNŇOÓÔPRŔSŠTŤUÚVWXYÝZŽ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidáti"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Pripravuje sa úložisko <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Prebieha kontrola chýb"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Bolo zistené nové úložisko <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1293,8 +1292,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Pripojené k relácii <xliff:g id="SESSION">%s</xliff:g>. Po klepnutí môžete sieť spravovať."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Pripájanie k vždy zapnutej sieti VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Pripojenie k vždy zapnutej sieti VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Vždy zapnutá sieť VPN bola odpojená"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Chyba vždy zapnutej siete VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Klepnutím spustíte konfiguráciu"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Klepnutím prejdete do Nastavení"</string>
<string name="upload_file" msgid="2897957172366730416">"Zvoliť súbor"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nie je vybratý žiadny súbor"</string>
<string name="reset" msgid="2448168080964209908">"Obnoviť"</string>
@@ -1719,6 +1719,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Zadajte názov jazyka"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Navrhované"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Všetky jazyky"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Všetky regióny"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Vyhľadávanie"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Pracovný režim je VYPNUTÝ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Povoľte fungovanie pracovného profilu vrátane aplikácií, synchronizácie na pozadí a súvisiacich funkcií."</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 28031e1..ee2dd5c 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -1214,7 +1214,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dotaknite se, če želite izbrati jezik in postavitev."</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidati"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Pripravljanje shrambe <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Iskanje napak"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Zaznana je bila nova shramba <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1293,8 +1292,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Povezan z mestom <xliff:g id="SESSION">%s</xliff:g>. Tapnite za upravljanje omrežja."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Povezovanje v stalno vklopljeno navidezno zasebno omrežje ..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Vzpostavljena povezava v stalno vklopljeno navidezno zasebno omrežje"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Povezava s stalno vklopljenim VPN-jem je prekinjena"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Napaka stalno vklopljenega navideznega zasebnega omrežja"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Dotanite se, če želite konfigurirati"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Dotaknite se, če želite nastaviti"</string>
<string name="upload_file" msgid="2897957172366730416">"Izberi datoteko"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nobena datoteka ni izbrana"</string>
<string name="reset" msgid="2448168080964209908">"Ponastavi"</string>
@@ -1719,6 +1719,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Vnesite ime jezika"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Predlagano"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Vsi jeziki"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Išči"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Delovni način IZKLOPLJEN"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Dovoljeno delovanje delovnega profila, vključno z aplikacijami, sinhronizacijo v ozadju in povezanimi funkcijami."</string>
diff --git a/core/res/res/values-sq-rAL/strings.xml b/core/res/res/values-sq-rAL/strings.xml
index e83f39c..9f06b12 100644
--- a/core/res/res/values-sq-rAL/strings.xml
+++ b/core/res/res/values-sq-rAL/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Trokit për të zgjedhur gjuhën dhe strukturën"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidatë"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Po përgatit <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Po kontrollon për gabime"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"U zbulua karta e re <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Lidhur me <xliff:g id="SESSION">%s</xliff:g>. Trokit për të menaxhuar rrjetin."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Po lidh VPN-në për aktivizim të përhershëm…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN e lidhur në mënyrë të përhershme"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Rrjeti VPN gjithmonë aktiv u shkëput"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Gabimi VPN-je për aktivizimin e përhershëm"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Trokit për të konfiguruar"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Trokit për ta konfiguruar"</string>
<string name="upload_file" msgid="2897957172366730416">"Zgjidh skedarin"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nuk u zgjodh asnjë skedar"</string>
<string name="reset" msgid="2448168080964209908">"Rivendos"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Shkruaj emrin e gjuhës"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Sugjeruar"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Të gjitha gjuhët"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Të gjitha rajonet"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Kërko"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Modaliteti i punës është JOAKTIV"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Lejoje profilin e punës të funksionojë, duke përfshirë aplikacionet, sinkronizimin në sfond dhe funksionet e lidhura."</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 5b3986f..6eb2d8d 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1189,7 +1189,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Додирните да бисте изабрали језик и распоред"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"кандидати"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> се припрема"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Проверава се да ли постоје грешке"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Нови уређај <xliff:g id="NAME">%s</xliff:g> је откривен"</string>
@@ -1268,8 +1267,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Повезано са сесијом <xliff:g id="SESSION">%s</xliff:g>. Додирните да бисте управљали мрежом."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Повезивање стално укљученог VPN-а..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Стално укључени VPN је повезан"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Веза са стално укљученим VPN-ом је прекинута"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Грешка стално укљученог VPN-а"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Додирните да бисте конфигурисали"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Додирните да бисте подесили"</string>
<string name="upload_file" msgid="2897957172366730416">"Одабери датотеку"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Није изабрана ниједна датотека"</string>
<string name="reset" msgid="2448168080964209908">"Поново постави"</string>
@@ -1683,6 +1683,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Унесите назив језика"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Предложени"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Сви језици"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Претражи"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Режим за Work је ИСКЉУЧЕН"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Дозвољава профилу за Work да функционише, укључујући апликације, синхронизацију у позадини и сродне функције."</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index b9d7247..df2bc16 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Tryck om du vill välja språk och layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"kandidater"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Förbereder ditt <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Söker efter fel"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Nytt <xliff:g id="NAME">%s</xliff:g> har hittats"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Ansluten till <xliff:g id="SESSION">%s</xliff:g>. Knacka lätt för att hantera nätverket."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Ansluter till Always-on VPN ..."</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Ansluten till Always-on VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Always-on VPN har kopplats från"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Fel på Always-on VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Tryck om du vill konfigurera"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Tryck för att konfigurera"</string>
<string name="upload_file" msgid="2897957172366730416">"Välj fil"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Ingen fil har valts"</string>
<string name="reset" msgid="2448168080964209908">"Återställ"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Ange språket"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Förslag"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Alla språk"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Alla regioner"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Söka"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Arbetsläget är inaktiverat"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Tillåt att jobbprofilen är aktiv, inklusive appar, bakgrundssynkronisering och andra tillhörande funktioner."</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 959c04d..0e7fca1 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -1162,7 +1162,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Gonga ili uchague lugha na muundo"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"wagombeaji"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Inaandaa <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Inakagua hitilafu"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"<xliff:g id="NAME">%s</xliff:g> mpya imegunduliwa"</string>
@@ -1241,8 +1240,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Imeunganishwa kwa <xliff:g id="SESSION">%s</xliff:g>. Gonga ili kudhibiti mtandao"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Kila mara VPN iliyowashwa inaunganishwa…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Kila mara VPN iliyowashwa imeunganishwa"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Iwe imeondoa VPN kila wakati"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Kila mara kuna hitilafu ya VPN iliyowashwa"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Gonga ili uweke mipangilio"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Gonga ili uweke mipangilio"</string>
<string name="upload_file" msgid="2897957172366730416">"Chagua faili"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Hakuna faili iliyochaguliwa"</string>
<string name="reset" msgid="2448168080964209908">"Weka upya"</string>
@@ -1645,6 +1645,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Weka jina la lugha"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Inayopendekezwa"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Lugha zote"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Tafuta"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Hali ya kazi IMEZIMWA"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Ruhusu wasifu wa kazini utumike, ikiwa ni pamoja na programu, usawazishaji wa chini chini na vipengele vinavyohusiana."</string>
diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml
index 68c0da9..d7efb64 100644
--- a/core/res/res/values-ta-rIN/strings.xml
+++ b/core/res/res/values-ta-rIN/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"மொழியையும் தளவமைப்பையும் தேர்ந்தெடுக்க, தட்டவும்"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"கேன்டிடேட்ஸ்"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> தயாராகிறது"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"பிழைகள் உள்ளதா எனப் பார்க்கிறது"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"புதிய <xliff:g id="NAME">%s</xliff:g> கண்டறியப்பட்டது"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> உடன் இணைக்கப்பட்டது. நெட்வொர்க்கை நிர்வகிக்க, தட்டவும்."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"எப்போதும் இயங்கும் VPN உடன் இணைக்கிறது…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"எப்போதும் இயங்கும் VPN இணைக்கப்பட்டது"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"எப்போதும் இயங்கும் VPN துண்டிக்கப்பட்டது"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"எப்போதும் இயங்கும் VPN பிழை"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"உள்ளமைக்க, தட்டவும்"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"அமைக்க, தட்டவும்"</string>
<string name="upload_file" msgid="2897957172366730416">"கோப்பைத் தேர்வுசெய்"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"எந்தக் கோப்பும் தேர்வுசெய்யப்படவில்லை"</string>
<string name="reset" msgid="2448168080964209908">"மீட்டமை"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"மொழி பெயரை உள்ளிடுக"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"பரிந்துரைகள்"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"எல்லா மொழிகளும்"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"எல்லா மண்டலங்களும்"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"தேடு"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"பணிப் பயன்முறை முடக்கப்பட்டது"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"செயல்பட, பணி சுயவிவரத்தை அனுமதி. இதில் பயன்பாடுகள், பின்னணி ஒத்திசைவு மற்றும் தொடர்புடைய அம்சங்கள் அடங்கும்."</string>
diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml
index 4e2a581..15fb94f 100644
--- a/core/res/res/values-te-rIN/strings.xml
+++ b/core/res/res/values-te-rIN/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"భాష మరియు లేఅవుట్ను ఎంచుకోవడానికి నొక్కండి"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"క్యాండిడేట్లు"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g>ని సిద్ధం చేస్తోంది"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"లోపాల కోసం తనిఖీ చేస్తోంది"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"కొత్త <xliff:g id="NAME">%s</xliff:g> గుర్తించబడింది"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g>కు కనెక్ట్ చేయబడింది. నెట్వర్క్ను నిర్వహించడానికి నొక్కండి."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ఎల్లప్పుడూ-ఆన్లో ఉండే VPN కనెక్ట్ చేయబడుతోంది…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"ఎల్లప్పుడూ-ఆన్లో ఉండే VPN కనెక్ట్ చేయబడింది"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"ఎల్లప్పుడూ ఆన్లో ఉండే VPN డిస్కనెక్ట్ చేయబడింది"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"ఎల్లప్పుడూ-ఆన్లో ఉండే VPN లోపం"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"కాన్ఫిగర్ చేయడానికి నొక్కండి"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"సెటప్ చేయడానికి నొక్కండి"</string>
<string name="upload_file" msgid="2897957172366730416">"ఫైల్ను ఎంచుకోండి"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ఫైల్ ఎంచుకోబడలేదు"</string>
<string name="reset" msgid="2448168080964209908">"రీసెట్ చేయి"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"భాష పేరును టైప్ చేయండి"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"సూచించినవి"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"అన్ని భాషలు"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"అన్ని ప్రాంతాలు"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"శోధించు"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"కార్యాలయ మోడ్ ఆఫ్ చేయబడింది"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"అనువర్తనాలు, నేపథ్య సమకాలీకరణ మరియు సంబంధిత లక్షణాలతో సహా కార్యాలయ ప్రొఫైల్ను పని చేయడానికి అనుమతించండి."</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 332e70b..5fe5d09 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"แตะเพื่อเลือกภาษาและรูปแบบ"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"ตัวเลือก"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"กำลังเตรียม <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"กำลังตรวจหาข้อผิดพลาด"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"ตรวจพบ <xliff:g id="NAME">%s</xliff:g> ใหม่"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"เชื่อมต่อกับ <xliff:g id="SESSION">%s</xliff:g> แตะเพื่อจัดการเครือข่าย"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"กำลังเชื่อมต่อ VPN แบบเปิดตลอดเวลา…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"เชื่อมต่อ VPN แบบเปิดตลอดเวลาแล้ว"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"ยกเลิกการเชื่อมต่อ VPN แบบเปิดตลอดเวลาแล้ว"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"ข้อผิดพลาดของ VPN แบบเปิดตลอดเวลา"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"แตะเพื่อกำหนดค่า"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"แตะเพื่อตั้งค่า"</string>
<string name="upload_file" msgid="2897957172366730416">"เลือกไฟล์"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"ไม่ได้เลือกไฟล์ไว้"</string>
<string name="reset" msgid="2448168080964209908">"รีเซ็ต"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"พิมพ์ชื่อภาษา"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"แนะนำ"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"ทุกภาษา"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"ภูมิภาคทั้งหมด"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"ค้นหา"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"โหมดทำงานปิดอยู่"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"อนุญาตให้โปรไฟล์งานทำงานได้ ซึ่งรวมถึงแอป การซิงค์ในพื้นหลัง และคุณลักษณะอื่นที่เกี่ยวข้อง"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 065f7b4..651db36 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"I-tap upang pumili ng wika at layout"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"mga kandidato"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Inihahanda ang <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Sinusuri para sa mga error"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Na-detect ang bagong <xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Nakakonekta sa <xliff:g id="SESSION">%s</xliff:g>. Tapikin upang pamahalaan ang network."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Kumukonekta ang Always-on VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Nakakonekta ang Always-on VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Hindi nakakonekta ang palaging naka-on na VPN"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Error sa Always-on VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"I-tap upang i-configure"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"I-tap upang i-set up"</string>
<string name="upload_file" msgid="2897957172366730416">"Pumili ng file"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Walang napiling file"</string>
<string name="reset" msgid="2448168080964209908">"I-reset"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"I-type ang wika"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Iminumungkahi"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Lahat ng wika"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Lahat ng rehiyon"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Maghanap"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"NAKA-OFF ang work mode"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Payagang gumana ang profile sa trabaho, kasama na ang mga app, pag-sync sa background at mga may kaugnayang feature."</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 5cf25fd..9d3de40 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Dili ve düzeni seçmek için hafifçe dokunun"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"adaylar"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> hazırlanıyor"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Hatalar denetleniyor"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Yeni <xliff:g id="NAME">%s</xliff:g> algılandı"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> oturumuna bağlı. Ağı yönetmek için hafifçe vurun."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Her zaman açık VPN\'ye bağlanılıyor…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Her zaman açık VPN\'ye bağlanıldı"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Her zaman açık VPN bağlantısı kesildi"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Her zaman açık VPN hatası"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Yapılandırmak için dokunun"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Ayarlamak için dokunun"</string>
<string name="upload_file" msgid="2897957172366730416">"Dosya seç"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Seçili dosya yok"</string>
<string name="reset" msgid="2448168080964209908">"Sıfırla"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Dil adını yazın"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Önerilen"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Tüm diller"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Ara"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"İş modu KAPALI"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Uygulamalar, arka planda senkronizasyon ve ilgili özellikler dahil olmak üzere iş profilinin çalışmasına izin ver."</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 1f5856d..77eff11 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -1214,7 +1214,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Торкніться, щоб вибрати мову та розкладку"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"кандидати"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Підготовка пристрою пам’яті <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Виявлення помилок"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Виявлено новий пристрій пам’яті (<xliff:g id="NAME">%s</xliff:g>)"</string>
@@ -1293,8 +1292,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Під’єднано до <xliff:g id="SESSION">%s</xliff:g>. Торкніться, щоб керувати мережею."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Під’єднання до постійної мережі VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Під’єднано до постійної мережі VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Постійну мережу VPN від’єднано"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Помилка постійної мережі VPN"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Торкніться, щоб налаштувати"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Торкніться, щоб налаштувати"</string>
<string name="upload_file" msgid="2897957172366730416">"Виберіть файл"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Не вибрано файл"</string>
<string name="reset" msgid="2448168080964209908">"Віднов."</string>
@@ -1719,6 +1719,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Введіть назву мови"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Пропоновані"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Усі мови"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Усі регіони"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Пошук"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Робочий профіль ВИМКНЕНО"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Увімкнути робочий профіль, зокрема додатки, фонову синхронізацію та пов’язані функції."</string>
diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml
index 996a50b..c35bb13 100644
--- a/core/res/res/values-ur-rPK/strings.xml
+++ b/core/res/res/values-ur-rPK/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"زبان اور لے آؤٹ منتخب کرنے کیلئے تھپتھپائیں"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"امیدواران"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> تیار کیا جا رہا ہے"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"خرابیوں کیلئے چیک کیا جا رہا ہے"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"نئے <xliff:g id="NAME">%s</xliff:g> کا پتا چلا"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> سے منسلک ہے۔ نیٹ ورک کا نظم کرنے کیلئے تھپتھپائیں۔"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ہمیشہ آن VPN مربوط ہو رہا ہے…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"ہمیشہ آن VPN مربوط ہوگیا"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"ہمیشہ آن VPN غیر منسلک ہو گیا"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"ہمیشہ آن VPN کی خرابی"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"کنفیگر کرنے کیلئے تھپتھپائیں"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"سیٹ اپ کرنے کیلئے تھپتھپائیں"</string>
<string name="upload_file" msgid="2897957172366730416">"فائل منتخب کریں"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"کوئی فائل منتخب نہیں کی گئی"</string>
<string name="reset" msgid="2448168080964209908">"دوبارہ ترتیب دیں"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"زبان کا نام ٹائپ کریں"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"تجویز کردہ"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"سبھی زبانیں"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"تلاش"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"کام موڈ آف ہے"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"دفتری پروفائل کو کام کرنے دیں، بشمول ایپس، پس منظر کی مطابقت پذیری اور متعلقہ خصوصیات۔"</string>
diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml
index a12bdad..835e45e 100644
--- a/core/res/res/values-uz-rUZ/strings.xml
+++ b/core/res/res/values-uz-rUZ/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Til va sxemani belgilash uchun bosing"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"nomzodlar"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> tayyorlanmoqda"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Xatolar qidirilmoqda"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Yangi <xliff:g id="NAME">%s</xliff:g> kartasi aniqlandi"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> ulandi. Tarmoq sozlamalarini o‘zgartirish uchun bu yerni bosing."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Ulanmoqda…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Ulandi"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Doimiy VPN o‘chirildi"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Xato"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Sozlash uchun bosing"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Sozlash uchun bosing"</string>
<string name="upload_file" msgid="2897957172366730416">"Faylni tanlash"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Hech qanday fayl tanlanmadi"</string>
<string name="reset" msgid="2448168080964209908">"Asliga qaytarish"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"Til nomini kiriting"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Taklif etiladi"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Barcha tillar"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"Qidiruv"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Ish rejimi O‘CHIQ"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Ishchi profilini yoqish: ilovalar, fonda sinxronlash va bog‘liq funksiyalar."</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 6984027..4a4c34a 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Nhấn để chọn ngôn ngữ và bố cục"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"ứng viên"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Đang chuẩn bị <xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Đang kiểm tra lỗi"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"Đã phát hiện <xliff:g id="NAME">%s</xliff:g> mới"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Đã kết nối với <xliff:g id="SESSION">%s</xliff:g>. Chạm để quản lý mạng."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Đang kết nối VPN luôn bật…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"Đã kết nối VPN luôn bật"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Đã ngắt kết nối VPN luôn bật"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Lỗi VPN luôn bật"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Nhấn để định cấu hình"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Nhấn để thiết lập"</string>
<string name="upload_file" msgid="2897957172366730416">"Chọn tệp"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Không có tệp nào được chọn"</string>
<string name="reset" msgid="2448168080964209908">"Đặt lại"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Nhập tên ngôn ngữ"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Ðược đề xuất"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Tất cả ngôn ngữ"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Tất cả khu vực"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Tìm kiếm"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Chế độ làm việc đang TẮT"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Cho phép hồ sơ công việc hoạt động, bao gồm ứng dụng, đồng bộ hóa trong nền và các tính năng liên quan."</string>
diff --git a/core/res/res/values-watch/donottranslate.xml b/core/res/res/values-watch/donottranslate.xml
new file mode 100644
index 0000000..d247ff6
--- /dev/null
+++ b/core/res/res/values-watch/donottranslate.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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>
+ <!-- DO NOT TRANSLATE Spans within this text are applied to style composing regions
+ within an EditText widget. The text content is ignored and not used.
+ Note: This is @color/material_deep_teal_200, cannot use @color references here. -->
+ <string name="candidates_style" translatable="false"><font color="#80cbc4">candidates</font></string>
+ </resources>
diff --git a/core/res/res/values-watch/styles_material.xml b/core/res/res/values-watch/styles_material.xml
index f5735e6..a9f6e22 100644
--- a/core/res/res/values-watch/styles_material.xml
+++ b/core/res/res/values-watch/styles_material.xml
@@ -88,9 +88,4 @@
<item name="virtualButtonPressedDrawable">?selectableItemBackground</item>
<item name="descendantFocusability">blocksDescendants</item>
</style>
-
- <!-- DO NOTE TRANSLATE Spans within this text are applied to style composing regions
- within an EditText widget. The text content is ignored and not used.
- Note: This is @color/material_deep_teal_200, cannot use @color references here. -->
- <string name="candidates_style"><font color="#80cbc4">candidates</font></string>
</resources>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index d3428b3..1bdd065 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"点按即可选择语言和布局"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"候选"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"正在准备<xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"检查是否有错误"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"检测到新的<xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"已连接到<xliff:g id="SESSION">%s</xliff:g>。点按即可管理网络。"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"正在连接到始终开启的 VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"已连接到始终开启的 VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"始终开启的 VPN 已断开连接"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"始终开启的 VPN 出现错误"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"点按即可进行配置"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"点按即可进行设置"</string>
<string name="upload_file" msgid="2897957172366730416">"选择文件"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"未选定任何文件"</string>
<string name="reset" msgid="2448168080964209908">"重置"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"输入语言名称"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"建议语言"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"所有语言"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"搜索"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"工作模式已关闭"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"启用工作资料,包括应用、后台同步和相关功能。"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index 734a506..ff4f95e 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"輕按即可選取語言和鍵盤配置"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"待選項目"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"正在準備<xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"正在檢查錯誤"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"已偵測到新<xliff:g id="NAME">%s</xliff:g>"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"已連線至 <xliff:g id="SESSION">%s</xliff:g>,輕按一下即可管理網絡。"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"正在連線至永久連線的 VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"已連線至永久連線的 VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"永久連線的 VPN 已中斷"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"永久連線的 VPN 發生錯誤"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"輕觸即可設定"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"輕按即可設定"</string>
<string name="upload_file" msgid="2897957172366730416">"選擇檔案"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"未選擇檔案"</string>
<string name="reset" msgid="2448168080964209908">"重設"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"輸入語言名稱"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"建議"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"所有語言"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"所有國家/地區"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"搜尋"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"工作模式已關閉"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"允許使用應用程式、背景同步及相關功能的工作設定檔。"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index 73ed62c..aedd91b 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"輕觸即可選取語言和版面配置"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"待選項目"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"正在準備「<xliff:g id="NAME">%s</xliff:g>」"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"正在檢查錯誤"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"偵測到新的「<xliff:g id="NAME">%s</xliff:g>」"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"已連線至 <xliff:g id="SESSION">%s</xliff:g>,輕觸一下即可管理網路。"</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"正在連線至永久連線的 VPN…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"已連線至永久連線的 VPN"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"永久連線的 VPN 已中斷連線"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"永久連線的 VPN 發生錯誤"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"輕觸即可進行設定"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"輕觸即可進行設定"</string>
<string name="upload_file" msgid="2897957172366730416">"選擇檔案"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"未選擇任何檔案"</string>
<string name="reset" msgid="2448168080964209908">"重設"</string>
@@ -1647,6 +1647,8 @@
<string name="search_language_hint" msgid="7042102592055108574">"請輸入語言名稱"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"建議語言"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"所有語言"</string>
+ <!-- no translation found for region_picker_section_all (8966316787153001779) -->
+ <skip />
<string name="locale_search_menu" msgid="2560710726687249178">"搜尋"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Work 模式已關閉"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"啟用 Work 設定檔,包括應用程式、背景同步處理和相關功能。"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 12818fc..59b6fbe 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1164,7 +1164,6 @@
<string name="select_keyboard_layout_notification_message" msgid="8084622969903004900">"Thepha ukuze ukhethe ulimi nesakhiwo"</string>
<string name="fast_scroll_alphabet" msgid="5433275485499039199">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
<string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
- <string name="candidates_style" msgid="4333913089637062257"><u>"abahlanganyeli"</u></string>
<string name="ext_media_checking_notification_title" msgid="5734005953288045806">"Ilungiselela i-<xliff:g id="NAME">%s</xliff:g>"</string>
<string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Ihlolela amaphutha"</string>
<string name="ext_media_new_notification_message" msgid="7589986898808506239">"I-<xliff:g id="NAME">%s</xliff:g> entsha itholiwe"</string>
@@ -1243,8 +1242,9 @@
<string name="vpn_text_long" msgid="4907843483284977618">"Ixhume ku-<xliff:g id="SESSION">%s</xliff:g>. Thepha ukuphatha inethiwekhi."</string>
<string name="vpn_lockdown_connecting" msgid="6443438964440960745">"I-VPN ehlala ikhanya iyaxhuma…"</string>
<string name="vpn_lockdown_connected" msgid="8202679674819213931">"I-VPN ehlala ikhanya ixhunyiwe"</string>
+ <string name="vpn_lockdown_disconnected" msgid="4532298952570796327">"Njalo kuvuliwe i-VPN kunqamukile"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Iphutha le-VPN ehlala ikhanya"</string>
- <string name="vpn_lockdown_config" msgid="4655589351146766608">"Thinta ukuze umise"</string>
+ <string name="vpn_lockdown_config" msgid="5099330695245008680">"Thepha ukuze usethe"</string>
<string name="upload_file" msgid="2897957172366730416">"Khetha ifayela"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Ayikho ifayela ekhethiwe"</string>
<string name="reset" msgid="2448168080964209908">"Setha kabusha"</string>
@@ -1647,6 +1647,7 @@
<string name="search_language_hint" msgid="7042102592055108574">"Thayipha igama lolimi"</string>
<string name="language_picker_section_suggested" msgid="8414489646861640885">"Okuphakanyisiwe"</string>
<string name="language_picker_section_all" msgid="3097279199511617537">"Zonke izilimi"</string>
+ <string name="region_picker_section_all" msgid="8966316787153001779">"Zonke izifunda"</string>
<string name="locale_search_menu" msgid="2560710726687249178">"Sesha"</string>
<string name="work_mode_off_title" msgid="8954725060677558855">"Imodi yomsebenzi IVALIWE"</string>
<string name="work_mode_off_message" msgid="3286169091278094476">"Vumela iphrofayela yomsebenzi ukuze isebenze, efaka izinhlelo zokusebenza, ukuvumelanisa kwangemuva, nezici ezisondelene."</string>
diff --git a/core/res/res/values/colors_material.xml b/core/res/res/values/colors_material.xml
index a864cf3..92426c6 100644
--- a/core/res/res/values/colors_material.xml
+++ b/core/res/res/values/colors_material.xml
@@ -61,7 +61,10 @@
<color name="secondary_text_default_material_dark">#b3ffffff</color>
<item name="hint_alpha_material_dark" format="float" type="dimen">0.50</item>
- <item name="hint_alpha_material_light" format="float" type="dimen">0.54</item>
+ <item name="hint_alpha_material_light" format="float" type="dimen">0.38</item>
+
+ <item name="hint_pressed_alpha_material_dark" format="float" type="dimen">0.70</item>
+ <item name="hint_pressed_alpha_material_light" format="float" type="dimen">0.54</item>
<item name="disabled_alpha_material_light" format="float" type="dimen">0.26</item>
<item name="disabled_alpha_material_dark" format="float" type="dimen">0.30</item>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 55a87ee..004b31f 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2540,4 +2540,12 @@
<!-- Verizon requires any SMS that starts with //VZWVVM to be treated as a VVM SMS-->
<item>310004,310010,310012,310013,310590,310890,310910,311110,311270,311271,311272,311273,311274,311275,311276,311277,311278,311279,311280,311281,311282,311283,311284,311285,311286,311287,311288,311289,311390,311480,311481,311482,311483,311484,311485,311486,311487,311488,311489;^//VZWVVM.*</item>
</string-array>
+ <!-- This config is holding calling number conversion map - expected to convert to emergency
+ number. Formats for this config as below:
+ <item>[dialstring1],[dialstring2],[dialstring3]:[replacement]</item>
+
+ E.g. for Taiwan Type Approval, 110 and 119 should be converted to 112.
+ <item>110,119:112</item>
+ -->
+ <string-array translatable="false" name="config_convert_to_emergency_number_map" />
</resources>
diff --git a/core/res/res/values/donottranslate.xml b/core/res/res/values/donottranslate.xml
index a139529..3a1679c 100644
--- a/core/res/res/values/donottranslate.xml
+++ b/core/res/res/values/donottranslate.xml
@@ -26,4 +26,7 @@
<string name="icu_abbrev_wday_month_day_no_year">eeeMMMMd</string>
<!-- @hide DO NOT TRANSLATE. date formatting pattern for system ui.-->
<string name="system_ui_date_pattern">@string/icu_abbrev_wday_month_day_no_year</string>
+ <!-- @hide DO NOT TRANSLATE Spans within this text are applied to style composing regions
+ within an EditText widget. The text content is ignored and not used. -->
+ <string name="candidates_style" translatable="false"><u>candidates</u></string>
</resources>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 9002ed4..d0107e1 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -3122,8 +3122,6 @@
<string name="fast_scroll_alphabet">\u0020ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
<string name="fast_scroll_numeric_alphabet">\u00200123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
- <string name="candidates_style"><u>candidates</u></string>
-
<!-- External media notification strings -->
<skip />
@@ -3326,10 +3324,12 @@
<string name="vpn_lockdown_connecting">Always-on VPN connecting\u2026</string>
<!-- Notification title when connected to lockdown VPN. -->
<string name="vpn_lockdown_connected">Always-on VPN connected</string>
+ <!-- Notification title when not connected to lockdown VPN. -->
+ <string name="vpn_lockdown_disconnected">Always-on VPN disconnected</string>
<!-- Notification title when error connecting to lockdown VPN. -->
<string name="vpn_lockdown_error">Always-on VPN error</string>
<!-- Notification body that indicates user can touch to configure lockdown VPN connection. -->
- <string name="vpn_lockdown_config">Tap to configure</string>
+ <string name="vpn_lockdown_config">Tap to set up</string>
<!-- Localized strings for WebView -->
<!-- Label for button in a WebView that will open a chooser to choose a file to upload -->
@@ -4357,6 +4357,9 @@
<string name="language_picker_section_suggested">Suggested</string>
<!-- List section subheader for the language picker, containing a list of all languages available [CHAR LIMIT=30] -->
<string name="language_picker_section_all">All languages</string>
+ <!-- List section subheader for the region picker, containing a list of all regions supported for the selected language.
+ Warning: this is a more 'neutral' term for 'country', not for the sub-divisions of a country. [CHAR LIMIT=30] -->
+ <string name="region_picker_section_all">All regions</string>
<!-- Menu item in the locale menu [CHAR LIMIT=30] -->
<string name="locale_search_menu">Search</string>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 67ab8cb..39127a4 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1459,6 +1459,7 @@
<java-symbol type="anim" name="dock_top_exit" />
<java-symbol type="anim" name="dock_bottom_enter" />
<java-symbol type="anim" name="dock_bottom_exit" />
+ <java-symbol type="anim" name="dock_bottom_exit_keyguard" />
<java-symbol type="anim" name="dock_left_enter" />
<java-symbol type="anim" name="dock_left_exit" />
<java-symbol type="anim" name="dock_right_enter" />
@@ -1868,6 +1869,7 @@
<java-symbol type="string" name="vpn_title_long" />
<java-symbol type="string" name="vpn_lockdown_connecting" />
<java-symbol type="string" name="vpn_lockdown_connected" />
+ <java-symbol type="string" name="vpn_lockdown_disconnected" />
<java-symbol type="string" name="vpn_lockdown_error" />
<java-symbol type="string" name="vpn_lockdown_config" />
<java-symbol type="string" name="wallpaper_binding_label" />
@@ -2506,6 +2508,7 @@
<java-symbol type="menu" name="language_selection_list" />
<java-symbol type="string" name="country_selection_title" />
<java-symbol type="string" name="language_picker_section_all" />
+ <java-symbol type="string" name="region_picker_section_all" />
<java-symbol type="string" name="language_picker_section_suggested" />
<java-symbol type="string" name="language_selection_title" />
<java-symbol type="string" name="search_language_hint" />
@@ -2696,4 +2699,5 @@
<java-symbol type="drawable" name="ic_restart" />
+ <java-symbol type="array" name="config_convert_to_emergency_number_map" />
</resources>
diff --git a/docs/html-intl/intl/es/about/versions/nougat/index.jd b/docs/html-intl/intl/es/about/versions/nougat/index.jd
index b30cc88..59afd81 100644
--- a/docs/html-intl/intl/es/about/versions/nougat/index.jd
+++ b/docs/html-intl/intl/es/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -54,7 +44,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -76,26 +66,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="https://developer.android.com/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Informar un problema
- </a></div>
- <div><a href="{@docRoot}preview/support.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Consulta las notas de la versión
- </a></div>
- <div><a href="{@docRoot}preview/dev-community">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Únete a la comunidad de desarrolladores
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
<h2 class="norule">Lo último</h2>
<div class="resource-widget resource-flow-layout col-16"
diff --git a/docs/html-intl/intl/es/index.jd b/docs/html-intl/intl/es/index.jd
index e0d80c1..1ecf47c 100644
--- a/docs/html-intl/intl/es/index.jd
+++ b/docs/html-intl/intl/es/index.jd
@@ -5,16 +5,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
<div class="wrap" style="max-width:1000px;margin-top:0">
<div class="col-7of16 col-push-8of16">
@@ -44,7 +34,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -72,28 +62,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
- <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
- <i class="dac-sprite dac-arrow-down-gray"></i>
- </a>
- <div class="actions">
- <div><a href="{@docRoot}sdk/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Get the SDK
- </a></div>
- <div><a href="{@docRoot}samples/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Browse Samples
- </a></div>
- <div><a href="{@docRoot}distribute/stories/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Watch Stories
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light" id="build-apps"><div class="wrap">
<h1 class="dac-section-title">Build Beautiful Apps</h1>
<div class="dac-section-subtitle">
diff --git a/docs/html-intl/intl/in/about/versions/nougat/index.jd b/docs/html-intl/intl/in/about/versions/nougat/index.jd
index 5234f91..212870a 100644
--- a/docs/html-intl/intl/in/about/versions/nougat/index.jd
+++ b/docs/html-intl/intl/in/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -55,7 +45,7 @@
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -77,26 +67,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="https://developer.android.com/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Laporkan masalah
- </a></div>
- <div><a href="{@docRoot}preview/support.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Lihat catatan rilis
- </a></div>
- <div><a href="{@docRoot}preview/dev-community">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Bergabunglah dengan komunitas pengembang
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
<h2 class="norule">Terbaru</h2>
<div class="resource-widget resource-flow-layout col-16"
diff --git a/docs/html-intl/intl/ja/about/versions/nougat/index.jd b/docs/html-intl/intl/ja/about/versions/nougat/index.jd
index 5881cf6..7c5fe5d 100644
--- a/docs/html-intl/intl/ja/about/versions/nougat/index.jd
+++ b/docs/html-intl/intl/ja/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -55,7 +45,7 @@
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -77,26 +67,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="https://developer.android.com/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 問題の報告</a>
-</div>
- <div><a href="{@docRoot}preview/support.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- リリースノートの確認</a>
-</div>
- <div><a href="{@docRoot}preview/dev-community">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 開発者コミュニティに参加</a>
-</div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
<h2 class="norule">新着</h2>
<div class="resource-widget resource-flow-layout col-16"
diff --git a/docs/html-intl/intl/ja/index.jd b/docs/html-intl/intl/ja/index.jd
index ba73c41..3220f19 100644
--- a/docs/html-intl/intl/ja/index.jd
+++ b/docs/html-intl/intl/ja/index.jd
@@ -5,16 +5,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
<div class="wrap" style="max-width:1000px;margin-top:0">
<div class="col-7of16 col-push-8of16">
@@ -44,7 +34,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -72,28 +62,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
- <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
- <i class="dac-sprite dac-arrow-down-gray"></i>
- </a>
- <div class="actions">
- <div><a href="{@docRoot}sdk/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Get the SDK
- </a></div>
- <div><a href="{@docRoot}samples/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Browse Samples
- </a></div>
- <div><a href="{@docRoot}distribute/stories/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Watch Stories
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light" id="build-apps"><div class="wrap">
<h1 class="dac-section-title">Build Beautiful Apps</h1>
<div class="dac-section-subtitle">
diff --git a/docs/html-intl/intl/ko/about/versions/nougat/index.jd b/docs/html-intl/intl/ko/about/versions/nougat/index.jd
index 6ed065b..20561a4 100644
--- a/docs/html-intl/intl/ko/about/versions/nougat/index.jd
+++ b/docs/html-intl/intl/ko/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -54,7 +44,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -76,26 +66,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="https://developer.android.com/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 문제 보고
- </a></div>
- <div><a href="{@docRoot}preview/support.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 릴리스 노트 보기
- </a></div>
- <div><a href="{@docRoot}preview/dev-community">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 개발자 커뮤니티 가입
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
<h2 class="norule">최신</h2>
<div class="resource-widget resource-flow-layout col-16"
diff --git a/docs/html-intl/intl/ko/index.jd b/docs/html-intl/intl/ko/index.jd
index e102411..b459df7 100644
--- a/docs/html-intl/intl/ko/index.jd
+++ b/docs/html-intl/intl/ko/index.jd
@@ -5,16 +5,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
<div class="wrap" style="max-width:1000px;margin-top:0">
<div class="col-7of16 col-push-8of16">
@@ -44,7 +34,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -72,28 +62,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
- <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
- <i class="dac-sprite dac-arrow-down-gray"></i>
- </a>
- <div class="actions">
- <div><a href="{@docRoot}sdk/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Get the SDK
- </a></div>
- <div><a href="{@docRoot}samples/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Browse Samples
- </a></div>
- <div><a href="{@docRoot}distribute/stories/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Watch Stories
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light" id="build-apps"><div class="wrap">
<h1 class="dac-section-title">Build Beautiful Apps</h1>
<div class="dac-section-subtitle">
diff --git a/docs/html-intl/intl/pt-br/about/versions/nougat/index.jd b/docs/html-intl/intl/pt-br/about/versions/nougat/index.jd
index c7aee2a..ff44f6a 100644
--- a/docs/html-intl/intl/pt-br/about/versions/nougat/index.jd
+++ b/docs/html-intl/intl/pt-br/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -54,7 +44,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
diff --git a/docs/html-intl/intl/pt-br/index.jd b/docs/html-intl/intl/pt-br/index.jd
index 3c8f75d..b15ecc8 100644
--- a/docs/html-intl/intl/pt-br/index.jd
+++ b/docs/html-intl/intl/pt-br/index.jd
@@ -5,16 +5,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
<div class="wrap" style="max-width:1000px;margin-top:0">
<div class="col-7of16 col-push-8of16">
@@ -44,7 +34,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -72,28 +62,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
- <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
- <i class="dac-sprite dac-arrow-down-gray"></i>
- </a>
- <div class="actions">
- <div><a href="{@docRoot}sdk/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Get the SDK
- </a></div>
- <div><a href="{@docRoot}samples/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Browse Samples
- </a></div>
- <div><a href="{@docRoot}distribute/stories/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Watch Stories
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light" id="build-apps"><div class="wrap">
<h1 class="dac-section-title">Build Beautiful Apps</h1>
<div class="dac-section-subtitle">
diff --git a/docs/html-intl/intl/ru/about/versions/nougat/index.jd b/docs/html-intl/intl/ru/about/versions/nougat/index.jd
index 1103166..0365061 100644
--- a/docs/html-intl/intl/ru/about/versions/nougat/index.jd
+++ b/docs/html-intl/intl/ru/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -54,7 +44,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -76,26 +66,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="https://developer.android.com/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Сообщить о проблеме
- </a></div>
- <div><a href="{@docRoot}preview/support.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- См. примечания к выпуску
- </a></div>
- <div><a href="{@docRoot}preview/dev-community">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Вступить в сообщество разработчиков
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
<h2 class="norule">Latest</h2>
<div class="resource-widget resource-flow-layout col-16"
diff --git a/docs/html-intl/intl/ru/index.jd b/docs/html-intl/intl/ru/index.jd
index b3f3cc2..83a506e 100644
--- a/docs/html-intl/intl/ru/index.jd
+++ b/docs/html-intl/intl/ru/index.jd
@@ -5,16 +5,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
<div class="wrap" style="max-width:1000px;margin-top:0">
<div class="col-7of16 col-push-8of16">
@@ -44,7 +34,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -72,28 +62,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
- <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
- <i class="dac-sprite dac-arrow-down-gray"></i>
- </a>
- <div class="actions">
- <div><a href="{@docRoot}sdk/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Get the SDK
- </a></div>
- <div><a href="{@docRoot}samples/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Browse Samples
- </a></div>
- <div><a href="{@docRoot}distribute/stories/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Watch Stories
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light" id="build-apps"><div class="wrap">
<h1 class="dac-section-title">Build Beautiful Apps</h1>
<div class="dac-section-subtitle">
diff --git a/docs/html-intl/intl/vi/about/versions/nougat/index.jd b/docs/html-intl/intl/vi/about/versions/nougat/index.jd
index 58b4b5f..2d57fa6 100644
--- a/docs/html-intl/intl/vi/about/versions/nougat/index.jd
+++ b/docs/html-intl/intl/vi/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -55,7 +45,7 @@
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -77,26 +67,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="https://developer.android.com/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Báo cáo vấn đề
- </a></div>
- <div><a href="{@docRoot}preview/support.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Xem ghi chú phát hành
- </a></div>
- <div><a href="{@docRoot}preview/dev-community">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Tham gia cộng đồng nhà phát triển
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
<h2 class="norule">Latest</h2>
<div class="resource-widget resource-flow-layout col-16"
diff --git a/docs/html-intl/intl/zh-cn/about/versions/nougat/index.jd b/docs/html-intl/intl/zh-cn/about/versions/nougat/index.jd
index c1eb423..5619de8 100644
--- a/docs/html-intl/intl/zh-cn/about/versions/nougat/index.jd
+++ b/docs/html-intl/intl/zh-cn/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -55,7 +45,7 @@
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -77,26 +67,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="https://developer.android.com/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 报告问题
- </a></div>
- <div><a href="{@docRoot}preview/support.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 查阅版本说明
- </a></div>
- <div><a href="{@docRoot}preview/dev-community">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 加入开发者社区</a>
-</div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
<h2 class="norule">最新</h2>
<div class="resource-widget resource-flow-layout col-16"
diff --git a/docs/html-intl/intl/zh-cn/distribute/tools/promote/badges.jd b/docs/html-intl/intl/zh-cn/distribute/tools/promote/badges.jd
index 1c82161..cc1234d 100644
--- a/docs/html-intl/intl/zh-cn/distribute/tools/promote/badges.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/tools/promote/badges.jd
@@ -35,7 +35,7 @@
vertical-align: middle;
margin: 0 5px 0 0;
}
-#jd-content div.button-row img {
+#body-content div.button-row img {
margin: 0;
vertical-align: middle;
}
diff --git a/docs/html-intl/intl/zh-cn/index.jd b/docs/html-intl/intl/zh-cn/index.jd
index 8872d16..c1a5d6f 100644
--- a/docs/html-intl/intl/zh-cn/index.jd
+++ b/docs/html-intl/intl/zh-cn/index.jd
@@ -5,16 +5,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
<div class="wrap" style="max-width:1000px;margin-top:0">
<div class="col-7of16 col-push-8of16">
@@ -44,7 +34,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -72,28 +62,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
- <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
- <i class="dac-sprite dac-arrow-down-gray"></i>
- </a>
- <div class="actions">
- <div><a href="{@docRoot}sdk/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Get the SDK
- </a></div>
- <div><a href="{@docRoot}samples/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Browse Samples
- </a></div>
- <div><a href="{@docRoot}distribute/stories/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Watch Stories
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light" id="build-apps"><div class="wrap">
<h1 class="dac-section-title">Build Beautiful Apps</h1>
<div class="dac-section-subtitle">
diff --git a/docs/html-intl/intl/zh-tw/about/versions/nougat/index.jd b/docs/html-intl/intl/zh-tw/about/versions/nougat/index.jd
index d4db467..ae9e164 100644
--- a/docs/html-intl/intl/zh-tw/about/versions/nougat/index.jd
+++ b/docs/html-intl/intl/zh-tw/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -55,7 +45,7 @@
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -77,26 +67,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="https://developer.android.com/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 回報問題</a>
-</div>
- <div><a href="{@docRoot}preview/support.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 查看版本資訊</a>
-</div>
- <div><a href="{@docRoot}preview/dev-community">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- 加入開發人員社群</a>
-</div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
<h2 class="norule">Latest</h2>
<div class="resource-widget resource-flow-layout col-16"
diff --git a/docs/html-intl/intl/zh-tw/index.jd b/docs/html-intl/intl/zh-tw/index.jd
index 540801a..022df77 100644
--- a/docs/html-intl/intl/zh-tw/index.jd
+++ b/docs/html-intl/intl/zh-tw/index.jd
@@ -5,16 +5,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
<div class="wrap" style="max-width:1000px;margin-top:0">
<div class="col-7of16 col-push-8of16">
@@ -44,7 +34,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -72,28 +62,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
- <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
- <i class="dac-sprite dac-arrow-down-gray"></i>
- </a>
- <div class="actions">
- <div><a href="{@docRoot}sdk/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Get the SDK
- </a></div>
- <div><a href="{@docRoot}samples/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Browse Samples
- </a></div>
- <div><a href="{@docRoot}distribute/stories/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Watch Stories
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light" id="build-apps"><div class="wrap">
<h1 class="dac-section-title">Build Beautiful Apps</h1>
<div class="dac-section-subtitle">
diff --git a/docs/html/_redirects.yaml b/docs/html/_redirects.yaml
index 1557dce..7e7c2de 100644
--- a/docs/html/_redirects.yaml
+++ b/docs/html/_redirects.yaml
@@ -1,6 +1,8 @@
# For information about this file's format, see
# https://developers.google.com/internal/publishing/redirects
redirects:
+- from: /guide/topics/fundamentals/fragments.html
+ to: /guide/components/fragments.html
- from: /about/versions/index.html
to: /about/index.html
- from: /about/versions/api-levels.html
@@ -41,8 +43,8 @@
to: /studio/intro/update.html
- from: /sdk/ndk/overview.html
to: /ndk/index.html
-- from: /sdk/ndk/
- to: /ndk/
+- from: /sdk/ndk/...
+ to: /ndk/...
- from: /go/vulkan
to: /ndk/guides/graphics/index.html
- from: /tools/sdk/win-usb.html
@@ -101,18 +103,18 @@
to: /training/testing/unit-testing/index.html
- from: /training/activity-testing/activity-functional-testing.html
to: /training/testing/ui-testing/index.html
-- from: /guide/market/
- to: /google/play/
+- from: /guide/market/...
+ to: /google/play/...
- from: /guide/google/play/services.html
to: https://developers.google.com/android/guides/overview
-- from: /guide/google/
- to: /google/
-- from: /training/id-auth/...
+- from: /guide/google/...
+ to: /google/...
+- from: /training/id-auth/
to: /google/auth/http-auth.html
- from: /google/play-services/auth.html
to: https://developers.google.com/android/guides/http-auth
- from: /google/play-services/games.html
- to: https://developers.google.com/games/services/
+ to: https://developers.google.com/games/services
- from: /google/play-services/location.html
to: /training/location/index.html
- from: /google/play-services/plus.html
@@ -120,21 +122,21 @@
- from: /google/play-services/maps.html
to: /training/maps/index.html
- from: /google/play-services/drive.html
- to: https://developers.google.com/drive/android/
+ to: https://developers.google.com/drive/android
- from: /google/play-services/cast.html
- to: https://developers.google.com/cast/
+ to: https://developers.google.com/cast
- from: /google/play-services/ads.html
- to: https://developers.google.com/mobile-ads-sdk/
+ to: https://developers.google.com/mobile-ads-sdk
- from: /google/play-services/wallet.html
- to: https://developers.google.com/wallet/instant-buy/
+ to: https://developers.google.com/wallet/instant-buy
- from: /google/play-services/id.html
to: https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient
- from: /google/play/safetynet/...
to: /training/safetynet/index.html
- from: /google/gcm/...
- to: https://developers.google.com/cloud-messaging/
+ to: https://developers.google.com/cloud-messaging/...
- from: /google/gcs/...
- to: https://developers.google.com/datastore/
+ to: https://developers.google.com/datastore/...
- from: /google/play-services/safetynet.html
to: /training/safetynet/index.html
- from: /google/play/billing/v2/api.html
@@ -158,29 +160,29 @@
- from: /guide/developing/tools/aidl.html
to: /guide/components/aidl.html
- from: /guide/developing/tools/...
- to: /studio/command-line/
+ to: /studio/command-line/...
- from: /guide/developing/...
- to: /studio/
+ to: /studio/...
- from: /tools/aidl.html
to: /guide/components/aidl.html
- from: /guide/market/publishing/multiple-apks.html
to: /google/play/publishing/multiple-apks.html
- from: /guide/publishing/publishing.html
to: /distribute/tools/launch-checklist.html
-- from: /guide/publishing/
+- from: /guide/publishing/...
to: /studio/publish/index.html
- from: /guide/topics/fundamentals.html
to: /guide/components/fundamentals.html
- from: /guide/topics/intents/intents-filters.html
to: /guide/components/intents-filters.html
-- from: /guide/topics/fundamentals/
- to: /guide/components/
+- from: /guide/topics/fundamentals/...
+ to: /guide/components/...
- from: /guide/topics/clipboard/copy-paste.html
to: /guide/topics/text/copy-paste.html
- from: /guide/topics/ui/notifiers/index.html
to: /guide/topics/ui/notifiers/notifications.html
-- from: /guide/topics/wireless/
- to: /guide/topics/connectivity/
+- from: /guide/topics/wireless/...
+ to: /guide/topics/connectivity/...
- from: /guide/topics/drawing/...
to: /guide/topics/graphics/opengl.html
- from: /guide/topics/connectivity/usb/adk.html
@@ -217,8 +219,8 @@
to: /training/articles/security-tips.html
- from: /guide/appendix/market-filters.html
to: /google/play/filters.html
-- from: /guide/topics/testing/
- to: /studio/test/
+- from: /guide/topics/testing/...
+ to: /studio/test/...
- from: /guide/topics/graphics/animation.html
to: /guide/topics/graphics/overview.html
- from: /guide/topics/graphics/renderscript/compute.html
@@ -235,24 +237,24 @@
to: /guide/topics/renderscript/reference/overview.html
- from: /guide/topics/location/obtaining-user-location.html
to: /guide/topics/location/strategies.html
-- from: /guide/topics/nfc/
- to: /guide/topics/connectivity/nfc/
-- from: /guide/topics/wireless/
- to: /guide/topics/connectivity/
-- from: /guide/topics/network/
- to: /guide/topics/connectivity/
+- from: /guide/topics/nfc/...
+ to: /guide/topics/connectivity/nfc/...
+- from: /guide/topics/wireless/...
+ to: /guide/topics/connectivity/...
+- from: /guide/topics/network/...
+ to: /guide/topics/connectivity/...
- from: /resources/articles/creating-input-method.html
to: /guide/topics/text/creating-input-method.html
- from: /resources/articles/spell-checker-framework.html
to: /guide/topics/text/spell-checker-framework.html
-- from: /resources/tutorials/notepad/
+- from: /resources/tutorials/notepad/...
to: https://developer.android.com/training/basics/firstapp/index.html
-- from: /resources/faq/
- to: /guide/faq/
+- from: /resources/faq/...
+ to: /guide/faq/...
- from: /resources/tutorials/hello-world.html
to: /training/basics/firstapp/index.html
-- from: /guide/practices/design/
- to: /guide/practices/
+- from: /guide/practices/design/...
+ to: /guide/practices/...
- from: /guide/practices/accessibility.html
to: /guide/topics/ui/accessibility/index.html
- from: /guide/practices/app-design/performance.html
@@ -361,8 +363,8 @@
to: /training/wearables/notifications/pages.html
- from: /wear/notifications/stacks.html
to: /training/wearables/notifications/stacks.html
-- from: /reference/android/preview/support/
- to: /reference/android/support/
+- from: /reference/android/preview/support/...
+ to: /reference/android/support/...
- from: /wear/license.html
to: /wear/index.html
- from: /resources/dashboard/...
@@ -371,8 +373,8 @@
to: /support.html
- from: /community/index.html
to: /support.html
-- from: /guide/tutorials/
- to: /resources/tutorials/
+- from: /guide/tutorials/...
+ to: /resources/tutorials/...
- from: /resources/tutorials/views/hello-linearlayout.html
to: /guide/topics/ui/layout/linear.html
- from: /resources/tutorials/views/hello-relativelayout.html
@@ -412,11 +414,9 @@
- from: /resources/samples/...
to: /samples/index.html
- from: /resources/...
- to: /training/
+ to: /training/...
- from: /tools/samples/index.html
to: /samples/index.html
-- from: /guide/publishing/publishing.html\#BuildaButton
- to: https://play.google.com/intl/en_us/badges/
- from: /distribute/essentials/best-practices/games.html
to: /distribute/googleplay/guide.html
- from: /distribute/essentials/best-practices/apps.html
@@ -431,12 +431,12 @@
to: /google/gcm/index.html
- from: /training/cloudsync/index.html
to: /training/backup/index.html
-- from: /training/basics/location/
- to: /training/location/
+- from: /training/basics/location/...
+ to: /training/location/...
- from: /training/monetization/index.html
to: /distribute/monetize/index.html
- from: /training/monetization/ads-and-ux.html
- to: https://developers.google.com/mobile-ads-sdk/
+ to: https://developers.google.com/mobile-ads-sdk/index.html
- from: /training/notepad/...
to: https://developer.android.com/training/basics/firstapp/index.html
- from: /training/basics/actionbar/setting-up.html
@@ -447,8 +447,8 @@
to: /training/appbar/index.html
- from: /distribute/open.html
to: /distribute/tools/open-distribution.html
-- from: /distribute/googleplay/promote/
- to: /distribute/tools/promote/
+- from: /distribute/googleplay/promote/...
+ to: /distribute/tools/promote/...
- from: /distribute/googleplay/publish/preparing.html
to: /distribute/tools/launch-checklist.html
- from: /distribute/googleplay/publish/index.html
@@ -477,8 +477,8 @@
to: /distribute/monetize/index.html
- from: /distribute/googleplay/about/distribution.html
to: /distribute/googleplay/developer-console.html
-- from: /distribute/googleplay/spotlight/
- to: /distribute/stories/
+- from: /distribute/googleplay/spotlight/...
+ to: /distribute/stories/...
- from: /distribute/stories/localization.html
to: /distribute/stories/index.html
- from: /distribute/stories/tablets.html
@@ -540,11 +540,11 @@
- from: /videos/index.html
to: /develop/index.html
- from: /live/index.html
- to: https://developers.google.com/live/
-- from: /intl/zh-CN/
- to: /intl/zh-cn/
-- from: /intl/zh-TW/
- to: /intl/zh-tw/
+ to: https://developers.google.com/live/index.html
+- from: /intl/zh-CN/...
+ to: /intl/zh-cn/...
+- from: /intl/zh-TW/...
+ to: /intl/zh-tw/...
- from: /4.2
to: /about/versions/android-4.2.html
- from: /4.1
@@ -553,111 +553,111 @@
to: /about/versions/android-4.0.html
- from: /5
to: /about/versions/android-5.0.html
-- from: /5/
+- from: /5/...
to: /about/versions/android-5.0.html
- from: /m
to: /about/versions/marshmallow/index.html
-- from: /m/
+- from: /m/...
to: /about/versions/marshmallow/index.html
- from: /mm
to: /about/versions/marshmallow/index.html
-- from: /mm/
+- from: /mm/...
to: /about/versions/marshmallow/index.html
- from: /marshmallow
to: /about/versions/marshmallow/index.html
-- from: /marshmallow/
+- from: /marshmallow/...
to: /about/versions/marshmallow/index.html
- from: /l
to: /about/versions/lollipop.html
-- from: /l/
+- from: /l/...
to: /about/versions/lollipop.html
- from: /ll
to: /about/versions/lollipop.html
-- from: /ll/
+- from: /ll/...
to: /about/versions/lollipop.html
- from: /lp
to: /about/versions/lollipop.html
-- from: /lp/
+- from: /lp/...
to: /about/versions/lollipop.html
- from: /lollipop
to: /about/versions/lollipop.html
-- from: /lollipop/
+- from: /lollipop/...
to: /about/versions/lollipop.html
- from: /k
to: /about/versions/kitkat.html
-- from: /k/
+- from: /k/...
to: /about/versions/kitkat.html
- from: /kk
to: /about/versions/kitkat.html
-- from: /kk/
+- from: /kk/...
to: /about/versions/kitkat.html
- from: /kitkat
to: /about/versions/kitkat.html
-- from: /kitkat/
+- from: /kitkat/...
to: /about/versions/kitkat.html
- from: /j
to: /about/versions/jelly-bean.html
-- from: /j/
+- from: /j/...
to: /about/versions/jelly-bean.html
- from: /jj
to: /about/versions/jelly-bean.html
-- from: /jj/
+- from: /jj/...
to: /about/versions/jelly-bean.html
- from: /jellybean
to: /about/versions/jelly-bean.html
-- from: /jellybean/
+- from: /jellybean/...
to: /about/versions/jelly-bean.html
- from: /i
to: /about/versions/android-4.0-highlights.html
-- from: /i/
+- from: /i/...
to: /about/versions/android-4.0-highlights.html
- from: /ics
to: /about/versions/android-4.0-highlights.html
-- from: /ics/
+- from: /ics/...
to: /about/versions/android-4.0-highlights.html
- from: /icecreamsandwich
to: /about/versions/android-4.0-highlights.html
-- from: /icecreamsandwich/
+- from: /icecreamsandwich/...
to: /about/versions/android-4.0-highlights.html
- from: /%2B
to: https://plus.google.com/108967384991768947849/posts
-- from: /%2B/
+- from: /%2B/...
to: https://plus.google.com/108967384991768947849/posts
- from: /blog
- to: https://android-developers.blogspot.com/
+ to: https://android-developers.blogspot.com
- from: /stats
to: /about/dashboards/index.html
- from: /youtube
to: https://www.youtube.com/user/androiddevelopers
- from: /playbadge
- to: https://play.google.com/intl/en_us/badges/
-- from: /playbadge/
- to: https://play.google.com/intl/en_us/badges/
+ to: https://play.google.com/intl/en_us/badges
+- from: /playbadge/...
+ to: https://play.google.com/intl/en_us/badges/...
- from: /distribute/tools/promote/badges.html
- to: https://play.google.com/intl/en_us/badges/
+ to: https://play.google.com/intl/en_us/badges
- from: /deviceart
to: /distribute/tools/promote/device-art.html
-- from: /deviceart/
+- from: /deviceart/...
to: /distribute/tools/promote/device-art.html
- from: /distribute/promote/device-art.html
to: /distribute/tools/promote/device-art.html
- from: /edu/signup
to: https://services.google.com/fb/forms/playedu
-- from: /edu/signup/
+- from: /edu/signup/...
to: https://services.google.com/fb/forms/playedu
- from: /edu
to: /distribute/googleplay/edu/about.html
-- from: /edu/
+- from: /edu/...
to: /distribute/googleplay/edu/about.html
- from: /families
to: /distribute/googleplay/families/about.html
-- from: /families/
+- from: /families/...
to: /distribute/googleplay/families/about.html
- from: /preview/google-play-services-wear.html
to: /training/building-wearables.html
@@ -713,9 +713,9 @@
to: /training/material/animations.html
- from: /preview/material/compatibility.html
to: /training/material/compatibility.html
-- from: /preview/material/
+- from: /preview/material/...
to: /design/material/index.html
-- from: /auto/overview/
+- from: /auto/overview/...
to: /training/auto/start/index.html
- from: /training/location/activity-recognition.html
to: /training/location/index.html
@@ -738,9 +738,9 @@
- from: /training/enterprise/work-policy-ctrl.html
to: https://developers.google.com/android/work/build-dpc
- from: /distribute/tools/promote/badge-files.html
- to: https://play.google.com/intl/en_us/badges/
+ to: https://play.google.com/intl/en_us/badges
- from: /google/gcm/...
- to: https://developers.google.com/cloud-messaging/
+ to: https://developers.google.com/cloud-messaging
- from: /training/cloudsync/gcm.html
to: /training/cloudsync/index.html
@@ -803,19 +803,19 @@
to: https://plus.google.com/communities/103655397235276743411
- from: /preview/bug
to: https://source.android.com/source/report-bugs.html
-- from: /preview/bug/
+- from: /preview/bug/...
to: https://source.android.com/source/report-bugs.html
- from: /preview/bugreport
to: https://source.android.com/source/report-bugs.html
-- from: /preview/bugreport/
+- from: /preview/bugreport/...
to: https://source.android.com/source/report-bugs.html
- from: /preview/bugs
to: https://code.google.com/p/android/issues/list?can=2&q=label%3ADevPreview-N
-- from: /preview/bugs/
+- from: /preview/bugs/...
to: https://code.google.com/p/android/issues/list?can=2&q=label%3ADevPreview-N
- from: /preview/bugreports
to: https://code.google.com/p/android/issues/list?can=2&q=label%3ADevPreview-N
-- from: /preview/bugreports/
+- from: /preview/bugreports/...
to: https://code.google.com/p/android/issues/list?can=2&q=label%3ADevPreview-N
- from: /2016/03/first-preview-of-android-n-developer.html
to: http://android-developers.blogspot.com/2016/03/first-preview-of-android-n-developer.html
@@ -1153,11 +1153,11 @@
# Vanity urls
- from: /background_optimizations
to: /preview/features/background-optimization.html
-- from: /background_optimizations/
+- from: /background_optimizations/...
to: /preview/features/background-optimization.html
- from: /bgopt
to: /preview/features/background-optimization.html
-- from: /bgopt/
+- from: /bgopt/...
to: /preview/features/background-optimization.html
diff --git a/docs/html/about/dashboards/index.jd b/docs/html/about/dashboards/index.jd
index f5d23e8..2721c85 100644
--- a/docs/html/about/dashboards/index.jd
+++ b/docs/html/about/dashboards/index.jd
@@ -59,7 +59,7 @@
</div>
-<p style="clear:both"><em>Data collected during a 7-day period ending on August 1, 2016.
+<p style="clear:both"><em>Data collected during a 7-day period ending on September 5, 2016.
<br/>Any versions with less than 0.1% distribution are not shown.</em>
</p>
@@ -81,7 +81,7 @@
</div>
-<p style="clear:both"><em>Data collected during a 7-day period ending on August 1, 2016.
+<p style="clear:both"><em>Data collected during a 7-day period ending on September 5, 2016.
<br/>Any screen configurations with less than 0.1% distribution are not shown.</em></p>
@@ -101,7 +101,7 @@
<img alt="" style="float:right"
-src="//chart.googleapis.com/chart?chl=GL%202.0%7CGL%203.0%7CGL%203.1&chf=bg%2Cs%2C00000000&chd=t%3A46.0%2C42.6%2C11.4&chco=c4df9b%2C6fad0c&cht=p&chs=400x250">
+src="//chart.googleapis.com/chart?chl=GL%202.0%7CGL%203.0%7CGL%203.1&chf=bg%2Cs%2C00000000&chd=t%3A44.9%2C42.3%2C12.8&chco=c4df9b%2C6fad0c&cht=p&chs=400x250">
<p>To declare which version of OpenGL ES your application requires, you should use the {@code
android:glEsVersion} attribute of the <a
@@ -119,21 +119,21 @@
</tr>
<tr>
<td>2.0</td>
-<td>46.0%</td>
+<td>44.9%</td>
</tr>
<tr>
<td>3.0</td>
-<td>42.6%</td>
+<td>42.3%</td>
</tr>
<tr>
<td>3.1</td>
-<td>11.4%</td>
+<td>12.8%</td>
</tr>
</table>
-<p style="clear:both"><em>Data collected during a 7-day period ending on August 1, 2016</em></p>
+<p style="clear:both"><em>Data collected during a 7-day period ending on September 5, 2016</em></p>
@@ -147,19 +147,19 @@
"Large": {
"hdpi": "0.5",
"ldpi": "0.2",
- "mdpi": "4.3",
+ "mdpi": "4.1",
"tvdpi": "2.1",
"xhdpi": "0.5"
},
"Normal": {
- "hdpi": "40.0",
- "mdpi": "3.8",
- "tvdpi": "0.1",
- "xhdpi": "27.3",
+ "hdpi": "39.5",
+ "mdpi": "3.5",
+ "tvdpi": "0.2",
+ "xhdpi": "28.4",
"xxhdpi": "15.5"
},
"Small": {
- "ldpi": "1.8"
+ "ldpi": "1.6"
},
"Xlarge": {
"hdpi": "0.3",
@@ -167,8 +167,8 @@
"xhdpi": "0.7"
}
},
- "densitychart": "//chart.googleapis.com/chart?chd=t%3A2.0%2C11.0%2C2.2%2C40.8%2C28.5%2C15.5&chf=bg%2Cs%2C00000000&chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi&cht=p&chs=400x250&chco=c4df9b%2C6fad0c",
- "layoutchart": "//chart.googleapis.com/chart?chd=t%3A3.9%2C7.6%2C86.7%2C1.8&chf=bg%2Cs%2C00000000&chl=Xlarge%7CLarge%7CNormal%7CSmall&cht=p&chs=400x250&chco=c4df9b%2C6fad0c"
+ "densitychart": "//chart.googleapis.com/chart?chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi&chd=t%3A1.8%2C10.5%2C2.3%2C40.4%2C29.6%2C15.5&chf=bg%2Cs%2C00000000&chco=c4df9b%2C6fad0c&cht=p&chs=400x250",
+ "layoutchart": "//chart.googleapis.com/chart?chl=Xlarge%7CLarge%7CNormal%7CSmall&chd=t%3A3.9%2C7.4%2C87.2%2C1.6&chf=bg%2Cs%2C00000000&chco=c4df9b%2C6fad0c&cht=p&chs=400x250"
}
];
@@ -176,7 +176,7 @@
var VERSION_DATA =
[
{
- "chart": "//chart.googleapis.com/chart?chd=t%3A0.1%2C1.7%2C1.6%2C16.7%2C29.2%2C35.5%2C15.2&chf=bg%2Cs%2C00000000&chl=Froyo%7CGingerbread%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat%7CLollipop%7CMarshmallow&cht=p&chs=500x250&chco=c4df9b%2C6fad0c",
+ "chart": "//chart.googleapis.com/chart?chl=Froyo%7CGingerbread%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat%7CLollipop%7CMarshmallow&chd=t%3A0.1%2C1.5%2C1.4%2C15.6%2C27.7%2C35.0%2C18.7&chf=bg%2Cs%2C00000000&chco=c4df9b%2C6fad0c&cht=p&chs=500x250",
"data": [
{
"api": 8,
@@ -186,47 +186,47 @@
{
"api": 10,
"name": "Gingerbread",
- "perc": "1.7"
+ "perc": "1.5"
},
{
"api": 15,
"name": "Ice Cream Sandwich",
- "perc": "1.6"
+ "perc": "1.4"
},
{
"api": 16,
"name": "Jelly Bean",
- "perc": "6.0"
+ "perc": "5.6"
},
{
"api": 17,
"name": "Jelly Bean",
- "perc": "8.3"
+ "perc": "7.7"
},
{
"api": 18,
"name": "Jelly Bean",
- "perc": "2.4"
+ "perc": "2.3"
},
{
"api": 19,
"name": "KitKat",
- "perc": "29.2"
+ "perc": "27.7"
},
{
"api": 21,
"name": "Lollipop",
- "perc": "14.1"
+ "perc": "13.1"
},
{
"api": 22,
"name": "Lollipop",
- "perc": "21.4"
+ "perc": "21.9"
},
{
"api": 23,
"name": "Marshmallow",
- "perc": "15.2"
+ "perc": "18.7"
}
]
}
diff --git a/docs/html/about/versions/android-1.5.jd b/docs/html/about/versions/android-1.5.jd
index 45a27ee..6db5472 100644
--- a/docs/html/about/versions/android-1.5.jd
+++ b/docs/html/about/versions/android-1.5.jd
@@ -101,7 +101,7 @@
.toggleable.closed .toggleme {
display:none;
}
-#jd-content .toggle-img {
+#body-content .toggle-img {
margin:0;
}
</style>
diff --git a/docs/html/about/versions/android-1.6-highlights.jd b/docs/html/about/versions/android-1.6-highlights.jd
index 9179579..f594449 100644
--- a/docs/html/about/versions/android-1.6-highlights.jd
+++ b/docs/html/about/versions/android-1.6-highlights.jd
@@ -6,8 +6,8 @@
<style type="text/css">
-#jd-content div.screenshot,
-#jd-content div.video {
+#body-content div.screenshot,
+#body-content div.video {
float:right;
clear:right;
padding:15px 70px;
@@ -15,11 +15,11 @@
font-weight:bold;
line-height:1.7em;
}
-#jd-content div.video {
+#body-content div.video {
padding-top:0;
margin-top:-15px;
}
-#jd-content div.screenshot img {
+#body-content div.screenshot img {
margin:0;
}
</style>
diff --git a/docs/html/about/versions/android-1.6.jd b/docs/html/about/versions/android-1.6.jd
index 970c343..a84c225 100755
--- a/docs/html/about/versions/android-1.6.jd
+++ b/docs/html/about/versions/android-1.6.jd
@@ -103,7 +103,7 @@
.toggleable.closed .toggleme {
display:none;
}
-#jd-content .toggle-img {
+#body-content .toggle-img {
margin:0;
}
</style>
diff --git a/docs/html/about/versions/android-2.0-highlights.jd b/docs/html/about/versions/android-2.0-highlights.jd
index 3f7e1c8..017b16f 100644
--- a/docs/html/about/versions/android-2.0-highlights.jd
+++ b/docs/html/about/versions/android-2.0-highlights.jd
@@ -6,8 +6,8 @@
<style type="text/css">
-#jd-content div.screenshot,
-#jd-content div.video {
+#body-content div.screenshot,
+#body-content div.video {
float:right;
clear:right;
padding:15px 60px;
@@ -15,15 +15,15 @@
font-weight:bold;
line-height:1.7em;
}
-#jd-content div.video {
+#body-content div.video {
padding-top:0;
margin-top:-15px;
}
-#jd-content div.screenshot.second {
+#body-content div.screenshot.second {
clear:none;
padding:15px 0 15px 60px;
}
-#jd-content div.screenshot img {
+#body-content div.screenshot img {
margin:0;
border:1px solid #ccc;
}
diff --git a/docs/html/about/versions/android-2.0.1.jd b/docs/html/about/versions/android-2.0.1.jd
index b0f4db6..21bfa65 100644
--- a/docs/html/about/versions/android-2.0.1.jd
+++ b/docs/html/about/versions/android-2.0.1.jd
@@ -99,7 +99,7 @@
.toggleable.closed .toggleme {
display:none;
}
-#jd-content .toggle-img {
+#body-content .toggle-img {
margin:0;
}
</style>
diff --git a/docs/html/about/versions/android-2.0.jd b/docs/html/about/versions/android-2.0.jd
index 0323686..8029633 100644
--- a/docs/html/about/versions/android-2.0.jd
+++ b/docs/html/about/versions/android-2.0.jd
@@ -92,7 +92,7 @@
.toggleable.closed .toggleme {
display:none;
}
-#jd-content .toggle-img {
+#body-content .toggle-img {
margin:0;
}
</style>
diff --git a/docs/html/about/versions/android-2.2-highlights.jd b/docs/html/about/versions/android-2.2-highlights.jd
index afbf26b..37a7a82 100644
--- a/docs/html/about/versions/android-2.2-highlights.jd
+++ b/docs/html/about/versions/android-2.2-highlights.jd
@@ -5,32 +5,32 @@
<style type="text/css">
-#jd-content {
+#body-content {
max-width:800px;
}
-#jd-content div.screenshot {
+#body-content div.screenshot {
float:left;
clear:left;
padding:15px 30px 15px 0;
}
-#jd-content div.video {
+#body-content div.video {
float:right;
padding:0 60px 40px;
margin-top:-15px;
}
-#jd-content table.columns {
+#body-content table.columns {
margin:0 0 1em 0;
}
-#jd-content table.columns td {
+#body-content table.columns td {
padding:0;
}
-#jd-content table.columns td+td {
+#body-content table.columns td+td {
padding:0 2em;
}
-#jd-content table.columns td img {
+#body-content table.columns td img {
margin:0;
}
-#jd-content table.columns td+td>*:first-child {
+#body-content table.columns td+td>*:first-child {
margin-top:-2em;
}
.green {
diff --git a/docs/html/about/versions/android-2.3-highlights.jd b/docs/html/about/versions/android-2.3-highlights.jd
index 582bce9..013ec7f 100644
--- a/docs/html/about/versions/android-2.3-highlights.jd
+++ b/docs/html/about/versions/android-2.3-highlights.jd
@@ -4,31 +4,31 @@
<style type="text/css">
-#jd-content {
+#body-content {
max-width:1200px;
}
-#jd-content div.screenshot {
+#body-content div.screenshot {
float:left;
clear:left;
padding:15px 30px 15px 0;
}
-#jd-content div.video {
+#body-content div.video {
float:right;
padding:0 0 0 40px;
}
-#jd-content table.columns {
+#body-content table.columns {
margin:0 0 1em 0;
}
-#jd-content table.columns td {
+#body-content table.columns td {
padding:0;
}
-#jd-content table.columns td+td {
+#body-content table.columns td+td {
padding:0 2em;
}
-#jd-content table.columns td img {
+#body-content table.columns td img {
margin:0;
}
-#jd-content table.columns td+td>*:first-child {
+#body-content table.columns td+td>*:first-child {
margin-top:-2em;
}
.green {
diff --git a/docs/html/about/versions/android-3.0-highlights.jd b/docs/html/about/versions/android-3.0-highlights.jd
index e9d2b39..50d4667 100644
--- a/docs/html/about/versions/android-3.0-highlights.jd
+++ b/docs/html/about/versions/android-3.0-highlights.jd
@@ -4,31 +4,31 @@
<style type="text/css">
-#jd-content {
+#body-content {
max-width:1200px;
}
-#jd-content div.screenshot {
+#body-content div.screenshot {
float:left;
clear:left;
padding:15px 30px 15px 0;
}
-#jd-content div.video {
+#body-content div.video {
float:right;
padding:0 60px 40px;
}
-#jd-content table.columns {
+#body-content table.columns {
margin:0 0 1em 0;
}
-#jd-content table.columns td {
+#body-content table.columns td {
padding:0;
}
-#jd-content table.columns td+td {
+#body-content table.columns td+td {
padding:0 2em;
}
-#jd-content table.columns td img {
+#body-content table.columns td img {
margin:0;
}
-#jd-content table.columns td+td>*:first-child {
+#body-content table.columns td+td>*:first-child {
margin-top:-2em;
}
.green {
diff --git a/docs/html/about/versions/android-3.1-highlights.jd b/docs/html/about/versions/android-3.1-highlights.jd
index 2a70698..22df372 100644
--- a/docs/html/about/versions/android-3.1-highlights.jd
+++ b/docs/html/about/versions/android-3.1-highlights.jd
@@ -4,31 +4,31 @@
<style type="text/css">
-#jd-content {
+#body-content {
max-width:1200px;
}
-#jd-content div.screenshot {
+#body-content div.screenshot {
float:left;
clear:left;
padding:15px 30px 15px 0;
}
-#jd-content div.video {
+#body-content div.video {
float:right;
padding:0 60px 40px;
}
-#jd-content table.columns {
+#body-content table.columns {
margin:0 0 1em 0;
}
-#jd-content table.columns td {
+#body-content table.columns td {
padding:0;
}
-#jd-content table.columns td+td {
+#body-content table.columns td+td {
padding:0 2em;
}
-#jd-content table.columns td img {
+#body-content table.columns td img {
margin:0;
}
-#jd-content table.columns td+td>*:first-child {
+#body-content table.columns td+td>*:first-child {
margin-top:-2em;
}
.green {
diff --git a/docs/html/about/versions/android-4.0-highlights.jd b/docs/html/about/versions/android-4.0-highlights.jd
index c980af6..57eb2a3 100755
--- a/docs/html/about/versions/android-4.0-highlights.jd
+++ b/docs/html/about/versions/android-4.0-highlights.jd
@@ -4,31 +4,31 @@
<style type="text/css">
-#jd-content {
+#body-content {
max-width:1024px;
}
-#jd-content div.screenshot {
+#body-content div.screenshot {
float:left;
clear:left;
padding:15px 30px 15px 0;
}
-#jd-content div.video {
+#body-content div.video {
float:right;
padding:0 0 40px 60px;
}
-#jd-content table.columns {
+#body-content table.columns {
margin:0 0 1em 0;
}
-#jd-content table.columns td {
+#body-content table.columns td {
padding:0;
}
-#jd-content table.columns td+td {
+#body-content table.columns td+td {
padding:0 2em;
}
-#jd-content table.columns td img {
+#body-content table.columns td img {
margin:0;
}
-#jd-content table.columns td+td>*:first-child {
+#body-content table.columns td+td>*:first-child {
margin-top:-2em;
}
.green {
diff --git a/docs/html/about/versions/nougat/index.jd b/docs/html/about/versions/nougat/index.jd
index 30a35761..8661d77 100644
--- a/docs/html/about/versions/nougat/index.jd
+++ b/docs/html/about/versions/nougat/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light">
<div class="wrap" style="max-width:1100px;margin-top:0">
<a href="{@docRoot}about/versions/nougat/android-7.0.html">
@@ -54,8 +44,7 @@
</div>
</section>
-
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -77,26 +66,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="https://developer.android.com/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Report an issue
- </a></div>
- <div><a href="{@docRoot}preview/support.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- See release notes
- </a></div>
- <div><a href="{@docRoot}preview/dev-community">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Join dev community
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
<h2 class="norule">Latest</h2>
<div class="resource-widget resource-flow-layout col-16"
diff --git a/docs/html/auto/index.jd b/docs/html/auto/index.jd
index e6fde38..3ebd87d 100644
--- a/docs/html/auto/index.jd
+++ b/docs/html/auto/index.jd
@@ -10,7 +10,7 @@
<style>
.fullpage>#footer,
-#jd-content>.content-footer.wrap {
+#body-content>.content-footer.wrap {
display:none;
}
.img-logo {
diff --git a/docs/html/distribute/essentials/quality/wear.jd b/docs/html/distribute/essentials/quality/wear.jd
index 34c6cc5..be48491 100644
--- a/docs/html/distribute/essentials/quality/wear.jd
+++ b/docs/html/distribute/essentials/quality/wear.jd
@@ -42,6 +42,13 @@
understand the basic implementation requirements for a Wear app.
</p>
+<p>
+ This document helps you assess basic aspects of quality in your Wear app through a
+ compact set of functional and user interface quality criteria.
+ Make sure to check out the <a href="https://developer.android.com/wear/preview/index.html">Wear 2.0 preview</a>
+ documentation to get ready for the next version of Android Wear.
+</p>
+
<p class="caution">
<strong>Important:</strong> To ensure a great user experience, apps for wearables must meet
specific requirements for usability. Only apps that meet the following quality criteria will
@@ -50,8 +57,8 @@
</p>
<p class="note">
- <strong>Note:</strong> For information about how to publish your Wear apps in Google Play, see <a
- href="{@docRoot}distribute/googleplay/wear.html">Distributing to Android Wear</a>.
+ <strong>Note:</strong> For information about how to publish your Wear apps in Google Play, see <a
+ href="{@docRoot}distribute/googleplay/wear.html">Distributing to Android Wear</a>.
</p>
<div class="headerLine">
@@ -67,6 +74,19 @@
functional behavior.
</p>
+<p class="caution">
+ <strong>Important:</strong> To learn about how Wear 2.0 platform changes may affect
+ your apps, see the <a href="https://developer.android.com/wear/preview/index.html">Wear 2.0 preview</a>
+ documentation.
+</p>
+
+<p class="note">
+ <strong>Note:</strong> The symbol ✘ is used in the table below to indicate
+ quality criteria that are not required for the corresponding Wear version.
+</p>
+
+<p class="table-caption"><strong>Table 1</strong>. Functional criteria.
+</p>
<table>
<tr>
@@ -79,6 +99,12 @@
<th>
Description
</th>
+ <th>
+ Wear 1.0
+ </th>
+ <th>
+ Wear 2.0
+ </th>
</tr>
<tr>
@@ -96,6 +122,12 @@
(<a href="{@docRoot}training/building-wearables.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✔
+ </td>
</tr>
<tr>
@@ -107,6 +139,12 @@
App has Wear functionality that is visible to the user.
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✔
+ </td>
</tr>
<tr>
@@ -118,6 +156,12 @@
Wear functionality works as expected or as described in the app's Google Play Store listing.
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✔
+ </td>
</tr>
<tr>
@@ -135,6 +179,12 @@
(<a href="{@docRoot}training/wearables/apps/packaging.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -152,6 +202,12 @@
(<a href="{@docRoot}training/wearables/notifications/index.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -164,6 +220,12 @@
(<a href="{@docRoot}training/wearables/notifications/voice-input.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -176,6 +238,12 @@
(<a href="{@docRoot}training/wearables/notifications/stacks.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -193,6 +261,12 @@
(<a href="{@docRoot}training/wearables/ui/exit.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -206,6 +280,12 @@
(<a href="{@docRoot}training/wearables/ui/exit.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -222,6 +302,12 @@
(<a href="{@docRoot}training/wearables/watch-faces/index.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
</table>
@@ -245,8 +331,15 @@
<p>
These criteria ensure that your app follows critical design and interaction patterns to provide a
consistent, intuitive, and enjoyable user experience on wearables.
+
+</p>
+<p clase="note">
+ <strong>Note:</strong> The symbol ✘ is used in the table below to indicate
+ quality criteria that are not required for the corresponding Wear version.
</p>
+<p class="table-caption"><strong>Table 2</strong>. Visual criteria.
+</p>
<table>
<tr>
@@ -259,6 +352,12 @@
<th>
Description
</th>
+ <th>
+ Wear 1.0
+ </th>
+ <th>
+ Wear 2.0
+ </th>
</tr>
<tr>
@@ -277,6 +376,12 @@
(<a href="{@docRoot}training/wearables/ui/layouts.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✔
+ </td>
</tr>
<tr>
@@ -292,6 +397,13 @@
(<a href="{@docRoot}training/wearables/ui/layouts.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✔
+ </td>
+
</tr>
<tr>
@@ -304,6 +416,12 @@
(<a href="{@docRoot}design/wear/style.html#Typography">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✔
+ </td>
</tr>
<tr>
@@ -320,6 +438,12 @@
(<a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -336,6 +460,12 @@
(<a href="{@docRoot}design/wear/patterns.html#Countdown">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✔
+ </td>
</tr>
<tr>
@@ -350,6 +480,12 @@
(<a href="{@docRoot}design/wear/style.html#Assets">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -363,6 +499,12 @@
(<a href="{@docRoot}training/wearables/notifications/creating.html#ActionButtons">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✔
+ </td>
</tr>
<tr>
@@ -375,6 +517,12 @@
(<a href="{@docRoot}design/wear/style.html#Branding">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -387,6 +535,12 @@
(<a href="{@docRoot}training/wearables/notifications/creating.html#AddWearableFeatures">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✘
+ </td>
</tr>
<tr>
@@ -403,6 +557,12 @@
(<a href="https://support.google.com/googleplay/android-developer/answer/1078870?hl=en">Learn how</a>)
</p>
</td>
+ <td>
+ ✔
+ </td>
+ <td>
+ ✔
+ </td>
</tr>
diff --git a/docs/html/distribute/index.jd b/docs/html/distribute/index.jd
index 424983d..3d75758 100644
--- a/docs/html/distribute/index.jd
+++ b/docs/html/distribute/index.jd
@@ -9,16 +9,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<div class="dac-hero-carousel" data-carousel-query="collection:distribute/landing/carousel">
</div>
@@ -28,18 +18,7 @@
</a>
</div>
-<section id="useOldTemplates" style="display:none" class="dac-section dac-gray dac-small" id="latest"><div class="wrap">
- <h2 class="norule">Latest</h2>
- <div class="resource-widget resource-flow-layout col-16"
- data-query="type:youtube+tag:googleplay+tag:developerstory+tag:featured, type:blog+tag:googleplay+tag:distribute+tag:featured"
- data-sortOrder="-timestamp"
- data-cardSizes="6x6"
- data-maxResults="3"
- data-items-per-page="6"
- data-initial-results="3"></div>
-</div></section>
-
-<section id="useUpdatedTemplates" style="display:none" class="dac-section dac-gray dac-small" id="latest"><div class="wrap">
+<section class="dac-section dac-gray dac-small" id="latest"><div class="wrap">
<h2 class="norule">Latest</h2>
<div class="dac-filter dac-filter-section" data-filter="#latest-resources">
diff --git a/docs/html/distribute/stories/index.jd b/docs/html/distribute/stories/index.jd
index 1adc5ae..1745535 100644
--- a/docs/html/distribute/stories/index.jd
+++ b/docs/html/distribute/stories/index.jd
@@ -4,16 +4,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<p>Android developers, their apps, and their successes with Android and Google Play.</p>
<section class="dac-section dac-small" id="latest-apps"><div class="wrap">
diff --git a/docs/html/guide/topics/location/strategies.jd b/docs/html/guide/topics/location/strategies.jd
index 2dfed2c..eb436d0 100755
--- a/docs/html/guide/topics/location/strategies.jd
+++ b/docs/html/guide/topics/location/strategies.jd
@@ -133,36 +133,66 @@
both to zero requests location notifications as frequently as possible. The last parameter is your
{@link android.location.LocationListener}, which receives callbacks for location updates.</p>
-<p>To request location updates from the GPS provider,
-substitute <code>GPS_PROVIDER</code> for <code>NETWORK_PROVIDER</code>. You can also request
-location updates from both the GPS and the Network Location Provider by calling {@link
-android.location.LocationManager#requestLocationUpdates requestLocationUpdates()} twice—once
-for <code>NETWORK_PROVIDER</code> and once for <code>GPS_PROVIDER</code>.</p>
+<p>To request location updates from the GPS provider, use {@link
+android.location.LocationManager#GPS_PROVIDER} instead of {@link
+android.location.LocationManager#NETWORK_PROVIDER}. You can also request
+location updates from both the GPS and the Network Location Provider by calling
+{@link android.location.LocationManager#requestLocationUpdates
+requestLocationUpdates()} twice—once for {@link
+android.location.LocationManager#NETWORK_PROVIDER} and once for {@link
+android.location.LocationManager#GPS_PROVIDER}.</p>
<h3 id="Permission">Requesting User Permissions</h3>
-<p>In order to receive location updates from <code>NETWORK_PROVIDER</code> or
-<code>GPS_PROVIDER</code>, you must request user permission by declaring either the {@code
-ACCESS_COARSE_LOCATION} or {@code ACCESS_FINE_LOCATION} permission, respectively, in your Android
-manifest file. For example:</p>
+<p>
+ In order to receive location updates from {@link
+ android.location.LocationManager#NETWORK_PROVIDER} or {@link
+ android.location.LocationManager#GPS_PROVIDER}, you must request the user's
+ permission by declaring either the {@code ACCESS_COARSE_LOCATION} or {@code
+ ACCESS_FINE_LOCATION} permission, respectively, in your Android manifest file.
+ Without these permissions, your application will fail at runtime when
+ requesting location updates.
+</p>
+<p>
+ If you are using both {@link
+ android.location.LocationManager#NETWORK_PROVIDER} and {@link
+ android.location.LocationManager#GPS_PROVIDER}, then you need to request only
+ the {@code ACCESS_FINE_LOCATION} permission, because it includes permission
+ for both providers. (Permission for {@code ACCESS_COARSE_LOCATION} includes
+ permission only for {@link
+ android.location.LocationManager#NETWORK_PROVIDER}.)
+</p>
+
+<p class="note">
+ <strong>Note:</strong> If your app targets Android 5.0 (API level 21) or
+ higher, you must also declare that your app uses the
+ <code>android.hardware.location.network</code> or
+ <code>android.hardware.location.gps</code> hardware feature in the manifest
+ file, depending on whether your app receives location updates from {@link
+ android.location.LocationManager#NETWORK_PROVIDER} or from {@link
+ android.location.LocationManager#GPS_PROVIDER}. If your app receives location
+ information from both of these providers, you need to declare that the app
+ uses both <code>android.hardware.location.network</code> and
+ <code>android.hardware.location.gps</code>.
+</p>
+
+<p>
+ The following code sample demonstrates how to declare the permission and
+ hardware feature in the manifest file of an app that reads data from the
+ device's GPS:
+</p>
<pre>
<manifest ... >
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
...
+ <!-- Needed only if your app targets Android 5.0 (API level 21) or higher. -->
+ <uses-feature android:name="android.hardware.location.gps" />
+ ...
</manifest>
</pre>
-<p>Without these permissions, your application will fail at runtime when requesting
-location updates.</p>
-
-<p class="note"><strong>Note:</strong> If you are using both <code>NETWORK_PROVIDER</code> and
-<code>GPS_PROVIDER</code>, then you need to request only the {@code ACCESS_FINE_LOCATION}
-permission, because it includes permission for both providers. (Permission for {@code
-ACCESS_COARSE_LOCATION} includes permission only for <code>NETWORK_PROVIDER</code>.)</p>
-
-
<h2 id="BestPerformance">Defining a Model for the Best Performance</h2>
<p>Location-based applications are now commonplace, but due to the less than optimal
@@ -404,9 +434,10 @@
the Android emulator. There are three different ways to send your application mock location
data: using Android Studio, DDMS, or the "geo" command in the emulator console.</p>
-<p class="note"><strong>Note:</strong> Providing mock location data is injected as GPS location
-data, so you must request location updates from <code>GPS_PROVIDER</code> in order for mock location
-data to work.</p>
+<p class="note"><strong>Note:</strong> Providing mock location data is injected
+as GPS location data, so you must request location updates from {@link
+android.location.LocationManager#GPS_PROVIDER} in order for mock location data
+to work.</p>
<h3 id="MockAVD">Using Android Studio</h3>
diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd
index 9b32244..aaa5867 100755
--- a/docs/html/guide/topics/manifest/uses-feature-element.jd
+++ b/docs/html/guide/topics/manifest/uses-feature-element.jd
@@ -1666,6 +1666,15 @@
<pre><uses-feature android:name="android.hardware.camera" android:required="false" /></pre>
+<p class="note">
+ <strong>Note:</strong> If your app targets Android 5.0 (API level 21) or
+ higher and uses the <code>ACCESS_COARSE_LOCATION</code> or
+ <code>ACCESS_FINE_LOCATION</code> permission in order to receive location
+ updates from the network or a GPS, respectively, you must also explicitly
+ declare that your app uses the <code>android.hardware.location.network</code>
+ or <code>android.hardware.location.gps</code> hardware feature, respectively.
+</p>
+
<p class="table-caption" id="permissions-features">
<strong>Table 2. </strong>Device permissions that imply device hardware use.
</p>
@@ -1717,14 +1726,29 @@
</tr>
<tr>
<td><code>ACCESS_COARSE_LOCATION</code></td>
- <td><code>android.hardware.location.network</code> <em>and</em>
-<br><code>android.hardware.location</code></td>
+ <td>
+ <p>
+ <code>android.hardware.location</code>
+ </p>
+ <p>
+ <code>android.hardware.location.network</code> (Target API level 20 or
+ lower only.)
+ </p>
+ </td>
<!-- <td></td> -->
</tr>
<tr>
<td><code>ACCESS_FINE_LOCATION</code></td>
- <td><code>android.hardware.location.gps</code> <em>and</em>
-<br><code>android.hardware.location</code></td>
+ <td>
+ <p>
+ <code>android.hardware.location</code>
+ </p>
+ <p>
+ <code>android.hardware.location.gps</code> (Target API level 20 or lower
+ only.)
+ </p>
+ </td>
+
<!-- <td></td> -->
</tr>
diff --git a/docs/html/guide/topics/media/camera.jd b/docs/html/guide/topics/media/camera.jd
index 4995a13d..fcf1ab1 100644
--- a/docs/html/guide/topics/media/camera.jd
+++ b/docs/html/guide/topics/media/camera.jd
@@ -154,10 +154,16 @@
<uses-permission android:name="android.permission.RECORD_AUDIO" />
</pre>
</li>
- <li><strong>Location Permission</strong> - If your application tags images with GPS location
-information, you must request location permission:
+ <li>
+ <p><strong>Location Permission</strong> - If your application tags images
+ with GPS location information, you must request the "fine location"
+ permission. Note that, if your app targets Android 5.0 (API level 21) or
+ higher, you also need to declare that your app uses the device's GPS:</p>
<pre>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+...
+<!-- Needed only if your app targets Android 5.0 (API level 21) or higher. -->
+<uses-feature android:name="android.hardware.location.gps" />
</pre>
<p>For more information about getting user location, see
<a href="{@docRoot}guide/topics/location/strategies.html">Location Strategies</a>.</p>
diff --git a/docs/html/images/training/ctl-config.png b/docs/html/images/training/ctl-config.png
index 82f63c8..3a4f738 100644
--- a/docs/html/images/training/ctl-config.png
+++ b/docs/html/images/training/ctl-config.png
Binary files differ
diff --git a/docs/html/index.jd b/docs/html/index.jd
index dc59b71..fe5dada 100644
--- a/docs/html/index.jd
+++ b/docs/html/index.jd
@@ -6,16 +6,6 @@
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
<div class="wrap" style="max-width:1000px;margin-top:0">
<div class="col-7of16 col-push-8of16">
@@ -45,7 +35,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -73,28 +63,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
- <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
- <i class="dac-sprite dac-arrow-down-gray"></i>
- </a>
- <div class="actions">
- <div><a href="{@docRoot}studio/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Get Android Studio
- </a></div>
- <div><a href="{@docRoot}samples/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Browse Samples
- </a></div>
- <div><a href="{@docRoot}distribute/stories/index.html">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Watch Stories
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light" id="build-apps"><div class="wrap">
<h1 class="dac-section-title">Build Beautiful Apps</h1>
<div class="dac-section-subtitle">
diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js
deleted file mode 100644
index 3ceddf2..0000000
--- a/docs/html/jd_collections.js
+++ /dev/null
@@ -1,1935 +0,0 @@
-/*
- * THIS FILE IS DEPRECATED.
- *
- * Please add and edit resource collections in jd_extras_<lang>.js
- * where lang matches the language code appropriate for the resource.
- * Last sync'd with jd_extras_<lang>.js on 29 Apr 2016.
- *
- */
-var RESOURCE_COLLECTIONS = {
- "index/carousel": {
- "title": "",
- "resources": [
- "about/versions/lollipop.html"
- ]
- },
- "index/primary": {
- "title": "",
- "resources": [
- "training/building-wearables.html",
- "training/material/index.html",
- "studio/index.html"
- ]
- },
- "index/secondary/carousel": {
- "title": "",
- "resources": [
- "http://www.youtube.com/watch?v=9m6MoBM-sFI",
- "http://www.youtube.com/watch?v=Pms0pcyPbAM",
- "http://www.youtube.com/watch?v=e7t3svG9PTk",
- "http://www.youtube.com/watch?v=J3IvOfvH1ys"
- ]
- },
- "index/multiscreen": {
- "title": "",
- "resources": [
- "wear/index.html",
- "tv/index.html",
- "auto/index.html"
- ]
- },
- "index/primary/zhcn": {
- "title": "",
- "resources": [
- "intl/zh-cn/resources.html",
- "intl/zh-cn/distribute/tools/launch-checklist.html",
- "intl/zh-cn/distribute/tools/localization-checklist.html"
- ]
- },
- "design/landing/latest": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=p4gmvHyuZzw",
- "https://www.youtube.com/watch?v=YaG_ljfzeUw",
- "https://www.youtube.com/watch?v=XOcCOBe8PTc"
- ]
- },
- "design/landing/materialdesign": {
- "title": "",
- "resources": [
- "https://www.google.com/design/spec/animation/",
- "https://www.google.com/design/spec/style/",
- "https://www.google.com/design/spec/layout/",
- "https://www.google.com/design/spec/components/",
- "https://www.google.com/design/spec/patterns/",
- "https://www.google.com/design/spec/usability/"
- ]
- },
- "design/landing/pureandroid": {
- "title": "",
- "resources": [
- "design/get-started/creative-vision.html",
- "design/material/index.html",
- "training/material/index.html",
- "design/patterns/pure-android.html",
- "design/patterns/new.html",
- "design/devices.html"
- ]
- },
- "design/landing/resources": {
- "title": "",
- "resources": [
- "https://www.google.com/design/spec/resources/color-palettes.html",
- "https://www.google.com/design/spec/resources/layout-templates.html",
- "https://www.google.com/design/spec/resources/sticker-sheets-icons.html",
- "https://www.google.com/design/spec/resources/roboto-noto-fonts.html",
- "https://www.google.com/design/icons/index.html",
- "design/downloads/index.html#Wear"
- ]
- },
- "develop/landing/mainlinks": {
- "title": "",
- "resources": [
- "tools/studio/index.html",
- "samples/new/index.html",
- "tools/projects/templates.html"
- ]
- },
- "develop/landing/latest": {
- "title": "",
- "resources": [
- "https://android-developers.blogspot.com/2015/04/new-android-code-samples.html",
- "https://android-developers.blogspot.com/2015/04/android-support-library-221.html",
- "https://android-developers.blogspot.com/2015/03/a-new-reference-app-for-multi-device.html"
- ]
- },
- "develop/landing/devpatterns": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=kmUGLURRPkI",
- "https://www.youtube.com/watch?v=HGElAW224dE",
- "https://www.youtube.com/watch?v=zQekzaAgIlQ"
- ]
- },
- "develop/landing/performance": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=fEEulSk1kNY",
- "https://www.youtube.com/watch?v=-3ry8PxcJJA",
- "https://www.youtube.com/watch?v=_kKTGK-Cb_4"
- ]
- },
- "develop/landing/buildwithgoogle": {
- "title": "",
- "resources": [
- ]
- },
- "develop/landing/ubicomp": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=AK38PJZmIW8&list=PLWz5rJ2EKKc-kIrPiq098QH9dOle-fLef",
- "https://www.youtube.com/watch?v=6K_jxccHv5M&index=1&list=PLOU2XLYxmsILFBfx66ens76VMLMEPJAB0",
- "https://www.youtube.com/watch?v=ctiaVxgclsg&list=PLWz5rJ2EKKc9BdE_PSLNIGjXXr3h_orXM"
- ]
- },
- "develop/landing/tools": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=K2dodTXARqc&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ",
- "https://www.youtube.com/watch?v=cD7NPxuuXYY&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ",
- "https://www.youtube.com/watch?v=JLLnhwtDoHw&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ",
- "https://www.youtube.com/watch?v=2I6fuD20qlY&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ",
- "https://www.youtube.com/watch?v=5Be2mJzP-Uw&list=PLWz5rJ2EKKc9e0d55YHgJFHXNZbGHEXJX"
- ]
- },
- "preview/landing/resources": {
- "title": "",
- "resources": [
- "preview/overview.html",
- "preview/api-overview.html",
- "preview/behavior-changes.html",
- "preview/setup-sdk.html",
- "preview/samples.html",
- "preview/support.html"
- ]
- },
- "preview/landing/more": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=CsulIu3UaUM",
- "preview/features/multi-window.html",
- "preview/features/notification-updates.html",
- "preview/features/background-optimization.html",
- "preview/features/data-saver.html",
- "preview/features/direct-boot.html",
- "preview/features/icu4j-framework.html",
- "preview/features/multilingual-support.html",
- "preview/features/scoped-folder-access.html",
- "preview/features/picture-in-picture.html",
- "preview/features/tv-recording-api.html"
- ]
- },
- "wear/preview/landing": {
- "title": "",
- "resources": [
- "wear/preview/api-overview.html",
- "wear/preview/downloads.html",
- "wear/preview/start.html"
- ]
- },
- "wear/preview/landing/resources": {
- "title": "",
- "resources": [
- "wear/preview/features/complications.html",
- "wear/preview/features/notifications.html",
- "wear/preview/features/ui-nav-actions.html"
- ]
- },
- "google/landing/services": {
- "title": "",
- "resources": [
- "https://developers.google.com/analytics/devguides/collection/android/",
- "https://developers.google.com/maps/documentation/android/",
- "https://developers.google.com/identity/sign-in/android/",
- "https://developers.google.com/mobile-ads-sdk/download",
- "https://developers.google.com/cloud-messaging/gcm",
- "https://developers.google.com/app-indexing/"
- ]
- },
- "google/landing/videos": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=M3Udfu6qidk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf",
- "https://www.youtube.com/watch?v=FOn64iqlphk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf",
- "https://www.youtube.com/watch?v=F0Kh_RnSM0w&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf",
- "https://www.youtube.com/watch?v=fvtMtfCuEpw&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf"
- ]
- },
- "google/landing/googleplay": {
- "title": "",
- "resources": [
- "google/play/billing/index.html",
- "google/play/billing/billing_subscriptions.html",
- "google/play/developer-api.html"
- ]
- },
- "develop/landing/courses": {
- "title": "",
- "resources": [
- "https://www.udacity.com/course/ud849",
- "https://www.udacity.com/course/ud853",
- "https://www.udacity.com/course/ud825",
- "https://www.udacity.com/android",
- "https://www.udacity.com/course/ud855",
- "https://www.udacity.com/course/ud875A",
- "https://www.udacity.com/course/ud875B",
- "https://www.udacity.com/course/ud875C",
- "https://www.udacity.com/course/ud876--1",
- "https://www.udacity.com/course/ud876--2",
- "https://www.udacity.com/course/ud876--3",
- "https://www.udacity.com/course/ud876--4",
- "https://www.udacity.com/course/ud876--5",
- "https://www.udacity.com/course/ud862",
- "https://www.udacity.com/course/ud837",
- "https://www.udacity.com/course/ud867"
- ]
- },
- "distribute/landing/carousel": {
- "title": "",
- "resources": [
- "distribute/googleplay/guide.html",
- "https://www.youtube.com/watch?v=JrR6o5tYMWQ",
- "https://www.youtube.com/watch?v=B6ydLpkhq04&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS",
- "https://www.youtube.com/watch?v=yJisuP94lHU",
- ]
- },
- "distribute/landing/googleplay": {
- "title": "",
- "resources": [
- "distribute/googleplay/about.html",
- "distribute/googleplay/developer-console.html",
- "distribute/googleplay/index.html#opportunities"
- ]
- },
- "distribute/landing/more": {
- "title": "",
- "resources": [
- "distribute/users/promote-with-ads.html",
- "distribute/monetize/ads.html",
- "distribute/analyze/index.html",
- "distribute/engage/deep-linking.html",
- "distribute/engage/easy-signin.html",
- "https://cloud.google.com/docs/"
- ]
- },
- "distribute/edu/videos/stories": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=Idu7VcTTXfk",
- "https://www.youtube.com/watch?v=iokH4SAIfRw"
- ]
- },
- "distribute/edu/videos/bestpractices": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=iulXz8QTD1g",
- "https://www.youtube.com/watch?v=IKhU180eJMo",
- "https://www.youtube.com/watch?v=_AZ6UcPz-_g",
- "https://www.youtube.com/watch?v=Eh2adsAyTKc"
- ]
- },
- "distribute/edu/videos/experience": {
- "title": "",
- "resources": [
- "https://youtu.be/vzvpcEffvaE"
- ]
- },
-/* "launch/static": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=1RIz-cmTQB4",
- "https://www.youtube.com/watch?v=MVBMWDzyHAI",
- "https://android-developers.blogspot.com/2013/11/app-translation-service-now-available.html",
- "https://android-developers.blogspot.com/2013/10/more-visibility-for-tablet-apps-in.html",
- "https://android-developers.blogspot.com/2013/11/bring-your-apps-into-classroom-with.html",
- "distribute/essentials/quality/tablets.html",
- "distribute/users/build-buzz.html",
- "distribute/monetize/premium.html",
- "distribute/monetize/freemium.html",
- "distribute/monetize/ads.html",
- "distribute/essentials/best-practices/apps.html",
- "distribute/essentials/best-practices/games.html",
- "distribute/users/know-your-user.html",
- "distribute/googleplay/developer-console.html"
- ]
- }, */
- "launch/static/ja": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=xelYnWcYkuE",
- "https://www.youtube.com/playlist?list=PLCOC_kP3nqGIHEgwm9mybvA04Vn4Cg9nn",
- "https://googledevjp.blogspot.jp/2014/12/android-wear.html",
- "https://googledevjp.blogspot.jp/2014/12/android-studio-10.html",
- "https://googledevjp.blogspot.jp/2014/12/google-play-65.html",
- "intl/ja/distribute/googleplay/developer-console.html#alpha-beta",
- "intl/ja/distribute/googleplay/guide.html",
- "intl/ja/distribute/essentials/quality/core.html",
- "https://support.google.com/googleplay/android-developer/answer/4430948?hl=ja",
- "intl/ja/support.html",
- "intl/ja/distribute/essentials/quality/wear.html",
- "intl/ja/training/tv/start/index.html",
- "https://googleforwork-japan.blogspot.jp/2014/12/gcp-google-cloud-platform-rpg-gcp.html",
- "intl/ja/distribute/monetize/ads.html"
- ]
- },
- "launch/static/ko": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=7X9Ue0Nfdh4&index=2&list=PL_WJkTbDHdBksDBRoqfeyLchEQqBAOlNl",
- "https://www.youtube.com/watch?v=83FpwuschCQ",
- "https://googledevkr.blogspot.com/2014/11/android50guidefordevelopers.html",
- "https://googledevkr.blogspot.com/2014/10/material-design-on-android-checklist.html",
- "https://googledevkr.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html",
- "intl/ko/distribute/googleplay/developer-console.html#alpha-beta",
- "intl/ko/distribute/googleplay/guide.html",
- "intl/ko/distribute/essentials/quality/core.html",
- "https://support.google.com/googleplay/android-developer/answer/4430948?hl=ko",
- "intl/ko/support.html",
- "intl/ko/distribute/essentials/quality/wear.html",
- "intl/ko/tv/index.html",
- "intl/ko/google/play-services/games.html",
- "intl/ko/distribute/monetize/ads.html"
- ]
- },
- "distribute/gp/gplanding": {
- "resources": [
- "distribute/googleplay/about.html",
- "distribute/googleplay/start.html",
- "distribute/googleplay/developer-console.html"
- ]
- },
- "distribute/gp/gpfelanding": {
- "resources": [
- "distribute/googleplay/wear.html",
- "distribute/googleplay/tv.html",
- "distribute/googleplay/auto.html",
- "distribute/googleplay/families/about.html",
- "distribute/googleplay/work/about.html",
- "distribute/googleplay/edu/about.html",
- "distribute/googleplay/cast.html",
- "distribute/googleplay/cardboard.html",
- "distribute/googleplay/guide.html"
- ]
- },
- "distribute/googleplay/gpfw": {
- "resources": [
- "https://www.android.com/work/",
- "https://www.youtube.com/watch?v=jQWB_-o1kz4&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX",
- "work/index.html"
- ]
- },
- "distribute/essentials": {
- "resources": [
- "distribute/essentials/quality/core.html",
- "distribute/essentials/quality/tablets.html",
- "distribute/essentials/quality/tv.html",
- "distribute/essentials/quality/wear.html",
- "distribute/essentials/quality/auto.html",
- "distribute/essentials/quality/billions.html"
- ]
- },
- "distribute/essentials/zhcn": {
- "resources": [
- "intl/zh-cn/distribute/essentials/quality/core.html",
- "intl/zh-cn/distribute/essentials/quality/tablets.html",
- "distribute/essentials/quality/tv.html",
- "distribute/essentials/quality/wear.html",
- "https://developers.google.com/edu/guidelines",
- "distribute/essentials/optimizing-your-app.html"
- ]
- },
- "distribute/users": {
- "title": "",
- "resources": [
- "distribute/users/your-listing.html",
- "distribute/users/promote-with-ads.html",
- "distribute/googleplay/index.html#opportunities",
- "distribute/analyze/improve-roi.html",
- "distribute/users/expand-to-new-markets.html",
- "distribute/analyze/index.html",
- "distribute/users/app-invites.html",
- "distribute/users/ota-installs.html",
- "distribute/users/youtube.html",
- "distribute/users/house-ads.html",
- "distribute/users/experiments.html",
- "distribute/users/user-acquisition.html",
- "distribute/users/banners.html",
- "distribute/users/beta.html"
- ]
- },
- "distribute/engagelanding": {
- "resources": [
- "distribute/engage/intents.html",
- "distribute/engage/widgets.html",
- "distribute/engage/translate.html",
- "distribute/engage/notifications.html",
- "distribute/engage/deep-linking.html",
- "distribute/engage/ads.html",
- "distribute/engage/game-services.html",
- "distribute/engage/easy-signin.html",
- "distribute/analyze/build-better-apps.html",
- "distribute/engage/gcm.html",
- "distribute/engage/beta.html",
- "distribute/engage/nearby.html"
- ]
- },
- "distribute/monetize": {
- "resources": [
- "distribute/monetize/premium.html",
- "distribute/monetize/freemium.html",
- "distribute/monetize/subscriptions.html",
- "distribute/monetize/ads.html",
- "distribute/monetize/ecommerce.html",
- "distribute/monetize/payments.html",
- "distribute/monetize/conversions.html",
- "distribute/analyze/understand-user-value.html",
- ]
- },
- "distribute/analyzelanding": {
- "resources": [
- "distribute/analyze/start.html",
- "distribute/analyze/measure.html",
- "distribute/analyze/understand-user-value.html",
- "distribute/analyze/improve-roi.html",
- "distribute/analyze/build-better-apps.html",
- "distribute/analyze/google-services.html"
- ]
- },
- "distribute/analyzestart": {
- "resources": [
- "https://analyticsacademy.withgoogle.com/course04",
- "google/play-services/index.html",
- "https://developers.google.com/analytics/solutions/mobile-implementation-guide",
- "https://developers.google.com/analytics/devguides/collection/android/",
- "https://www.google.com/tagmanager/",
- "https://github.com/googleanalytics/google-analytics-plugin-for-unity"
- ]
- },
- "distribute/analyzemeasure": {
- "resources": [
-
- "https://developers.google.com/analytics/solutions/mobile-implementation-guide",
- "https://developers.google.com/analytics/devguides/collection/android/v4/enhanced-ecommerce",
- "https://support.google.com/analytics/answer/1032415",
- "https://developers.google.com/analytics/devguides/collection/android/v4/events",
- "https://developers.google.com/analytics/devguides/collection/android/v4/customdimsmets",
- "https://developers.google.com/analytics/devguides/collection/android/v4/user-id"
- ]
- },
- "distribute/analyzeunderstand": {
- "resources": [
- "https://developers.google.com/analytics/devguides/collection/android/v4/display-features",
- "https://support.google.com/analytics/answer/3123906",
- "https://support.google.com/analytics/answer/2568874?ref_topic=6012392",
- "https://developers.google.com/analytics/devguides/collection/android/v4/enhanced-ecommerce",
- "https://support.google.com/analytics/answer/1032415",
- ]
- },
- "distribute/analyzeimprove": {
- "resources": [
-
- "https://developers.google.com/analytics/devguides/collection/android/v4/campaigns",
- "https://support.google.com/analytics/answer/2956981",
- "https://support.google.com/analytics/answer/1033961",
- "https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-url-builder",
- "https://developers.google.com/analytics/solutions/mobile-campaign-deep-link"
- ]
- },
- "distribute/analyzebuild": {
- "resources": [
- "https://support.google.com/tagmanager/answer/6003007",
- "https://support.google.com/analytics/answer/2785577",
- "https://support.google.com/analytics/answer/1151300"
- ]
- },
- "distribute/analyzeact": {
- "resources": [
- "https://support.google.com/analytics/answer/2611268",
- "https://support.google.com/analytics/answer/1033961",
- "https://support.google.com/admob/answer/3508177",
- "https://support.google.com/analytics/answer/2956981",
- "https://support.google.com/tagmanager/answer/6003007"
- ]
- },
- "distribute/essentials/guidelines": {
- "title": "",
- "resources": [
- "distribute/essentials/quality/core.html",
- "distribute/essentials/quality/tablets.html",
- "distribute/essentials/quality/wear.html",
- "distribute/essentials/quality/tv.html",
- "distribute/essentials/quality/auto.html",
- "distribute/essentials/quality/billions.html"
- ]
- },
- "distribute/essentials/tools": {
- "title": "",
- "resources": [
- "distribute/tools/launch-checklist.html",
- "distribute/tools/localization-checklist.html",
- "https://support.google.com/googleplay/android-developer",
- "distribute/tools/promote/brand.html",
- "distribute/tools/promote/device-art.html",
- "https://play.google.com/intl/en_us/badges/",
- "distribute/tools/promote/linking.html",
- "distribute/tools/open-distribution.html",
- "about/dashboards/index.html"
- ]
- },
- "distribute/tools/checklists": {
- "title": "",
- "resources": [
- "distribute/tools/launch-checklist.html",
- "distribute/tools/localization-checklist.html"
- ]
- },
- "distribute/tools/checklists/zhcn": {
- "title": "",
- "resources": [
- "intl/zh-cn/distribute/tools/launch-checklist.html",
- "intl/zh-cn/distribute/tools/localization-checklist.html"
- ]
- },
- "distribute/tools/promote": {
- "resources": [
- "distribute/tools/promote/device-art.html",
- "https://play.google.com/intl/en_us/badges/",
- "distribute/tools/promote/linking.html"
- ]
- },
- "distribute/tools/promote/zhcn": {
- "resources": [
- "intl/zh-cn/distribute/tools/promote/device-art.html",
- "https://play.google.com/intl/en_us/badges/",
- "intl/zh-cn/distribute/tools/promote/linking.html"
- ]
- },
- "distribute/tools/support": {
- "title": "Google Play",
- "resources": [
- "https://support.google.com/googleplay/android-developer",
- "https://support.google.com/googleplay/android-developer/answer/4430948",
- "support.html"
- ]
- },
- "distribute/tools/support/zhcn": {
- "title": "Google Play",
- "resources": [
- "https://support.google.com/googleplay/android-developer?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/answer/4430948?hl=zh-Hans",
- "support.html"
- ]
- },
- "distribute/tools/news": {
- "title": "",
- "resources": [
- "https://android-developers.blogspot.com/",
- "https://plus.google.com/+AndroidDevelopers/"
- ]
- },
- "distribute/tools/more": {
- "title": "Google Play",
- "resources": [
- "distribute/tools/promote/brand.html",
- "distribute/tools/open-distribution.html",
- "about/dashboards/index.html"
- ]
- },
- "distribute/tools/more/zhcn": {
- "title": "Google Play",
- "resources": [
- "intl/zh-cn/distribute/tools/promote/brand.html",
- "distribute/tools/open-distribution.html",
- "about/dashboards/index.html"
- ]
- },
- "distribute/googleplay": {
- "title": "Google Play",
- "resources": [
- "distribute/googleplay/developer-console.html",
- "distribute/essentials/best-practices/apps.html",
- "distribute/tools/launch-checklist.html",
- "distribute/essentials/best-practices/games.html",
- ]
- },
- "distribute/googleplay/gettingstarted": {
- "title": "Get Started",
- "resources": [
- "distribute/googleplay/developer-console.html",
- "https://support.google.com/googleplay/android-developer/answer/113468",
- "https://support.google.com/googleplay/android-developer/answer/138294",
- "https://support.google.com/googleplay/android-developer"
- ]
- },
- "distribute/googleplay/developerconsole/related": {
- "title": "Developer Console",
- "resources": [
- "google/play/billing/index.html",
- "https://support.google.com/googleplay/android-developer/answer/138294"
- ]
- },
- "distribute/googleplay/beta": {
- "title": "Alpha and Beta Testing",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/3131213",
- "https://support.google.com/googleplay/android-developer/answer/3131213#games",
- "distribute/googleplay/experiments.html"
- ]
- },
- "distribute/googleplay/experiments/successes": {
- "title": "Store Listing Experiment successes",
- "resources": [
- ]
- },
- "distribute/googleplay/experiments/related": {
- "title": "Store Listing Experiments",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/6227309",
- "https://www.youtube.com/watch?v=B6ydLpkhq04",
- "https://support.google.com/tagmanager/answer/6003007"
- ]
- },
- "distribute/googleplay/banners/related": {
- "title": "App Install Banners",
- "resources": [
- "https://developers.google.com/web/updates/2015/03/increasing-engagement-with-app-install-banners-in-chrome-for-android#native"
- ]
- },
- "distribute/googleplay/useracquisition/related": {
- "title": "User Acquisition",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/6263332"
- ]
- },
- "distribute/googleplay/cast": {
- "title": "Google Cast",
- "resources": [
- "https://developers.google.com/cast/docs/ux_guidelines",
- "https://developers.google.com/cast/docs/android_sender",
- "https://www.github.com/googlecast"
- ]
- },
- "distribute/googleplay/cardboard": {
- "title": "Google Cast",
- "resources": [
- "https://www.google.com/get/cardboard/get-cardboard/",
- "https://developers.google.com/cardboard/android/download",
- "https://www.google.com/design/spec-vr"
- ]
- },
- "distribute/googleplay/gpfe/highlight": {
- "title": "About Google Play for Education",
- "resources": [
- "https://youtu.be/vzvpcEffvaE"
- ]
- },
- "distribute/googleplay/gpfe/dev/about": {
- "title": "About Google Play for Education / Developers",
- "resources": [
- "distribute/googleplay/edu/start.html",
- "https://developers.google.com/edu/guidelines",
- "https://developers.google.com/edu/faq",
- "distribute/essentials/quality/tablets.html",
- "https://developers.google.com/edu/",
- "https://www.google.com/edu/tablets/#tablets-family"
- ]
- },
- "distribute/googleplay/gpfe/dev": {
- "title": "About Google Play for Education / Developers",
- "resources": [
- "distribute/googleplay/edu/about.html",
- "https://developers.google.com/edu/guidelines",
- "distribute/essentials/quality/tablets.html",
- "distribute/googleplay/developer-console.html",
- "https://play.google.com/about/developer-distribution-agreement-addendum.html",
- ]
- },
- "distribute/googleplay/aboutgpfe/educators/about": {
- "title": "About Google Play for Education / Educators",
- "resources": [
- "https://www.google.com/edu/tablets/",
- "https://www.youtube.com/watch?v=haEmsMo0f3w"
- ]
- },
- "distribute/googleplay/aboutgpfe/educators": {
- "title": "About Google Play for Education / Educators",
- "resources": [
- "https://www.google.com/edu/tablets/",
- "https://youtu.be/vzvpcEffvaE"
- ]
- },
- "distribute/googleplay/gettingstartedgpfe/educators": {
- "title": "About Google Play for Education / Educators",
- "resources": [
- "https://www.google.com/edu/tablets/",
- "https://youtu.be/vzvpcEffvaE"
- ]
- },
- "distribute/essentials/eduessentials/developers": {
- "title": "",
- "resources": [
- "distribute/googleplay/developer-console.html",
- "distribute/googleplay/edu/start.html",
- "https://developers.google.com/edu/faq"
- ]
- },
- "distribute/essentials/eduessentials/educators": {
- "title": "",
- "resources": [
- "https://www.google.com/edu/tablets/",
- "distribute/essentials/quality/tablets.html",
- ]
- },
- "distribute/essentials/optimizing": {
- "title": "Optimizing Your App",
- "resources": [
- "design/index.html",
- "training/articles/perf-anr.html",
- "https://android-developers.blogspot.com/2013/10/improved-app-insight-by-linking-google.html"
- ]
- },
- "distribute/users/appinvites": {
- "title": "",
- "resources": [
- "https://developers.google.com/app-invites/",
- "https://developers.google.com/identity/sign-in/android/",
- "https://developers.google.com/app-indexing/"
- ]
- },
- "distribute/users/knowyouruser": {
- "title": "",
- "resources": [
- "distribute/essentials/optimizing-your-app.html",
- "http://www.youtube.com/watch?v=RRelFvc6Czo",
- "distribute/stories/games/rvappstudios-zombie.html"
- ]
- },
- "distribute/users/promotewithads": {
- "title": "",
- "resources": [
- "https://support.google.com/adwords/answer/6032059",
- "https://support.google.com/adwords/answer/6032073",
- "https://support.google.com/adwords/answer/6167164",
- "https://support.google.com/adwords/answer/6167162"
- ]
- },
- "distribute/users/nearby": {
- "title": "",
- "resources": [
- "https://developers.google.com/nearby/",
- "https://www.youtube.com/watch?v=hultDpBS22s",
- "https://developers.google.com/beacons"
- ]
- },
- "distribute/users/buildbuzz": {
- "title": "",
- "resources": [
- "https://play.google.com/intl/en_us/badges/",
- "distribute/tools/promote/linking.html",
- "distribute/tools/promote/device-art.html",
- "https://plus.google.com/+GooglePlay"
- ]
- },
- "distribute/users/createagreatlisting": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/1078870",
- "https://android-developers.blogspot.com/2011/10/android-market-featured-image.html",
- "distribute/tools/launch-checklist.html",
- "https://android-developers.blogspot.com/2013/07/making-beautiful-android-app-icons.html",
- "https://android-developers.blogspot.com/2012/12/localize-your-promotional-graphics-on.html",
- "https://android-developers.blogspot.com/2013/10/making-your-app-content-more-accessible.html"
- ]
- },
- "distribute/users/buildcommunity": {
- "title": "",
- "resources": [
- "distribute/googleplay/developer-console.html",
- "https://support.google.com/groups/answer/46601",
- "https://support.google.com/plus/topic/2888488",
- "https://www.youtube.com/yt/dev/"
- ]
- },
- "distribute/users/appindexing": {
- "title": "",
- "resources": [
- "https://developers.google.com/app-indexing/",
- "https://developers.google.com/app-indexing/webmasters/details",
- "distribute/engage/deep-linking.html",
- "training/app-indexing/index.html"
- ]
- },
- "distribute/users/otas": {
- "title": "",
- "resources": [
- "https://developers.google.com/identity/sign-in/android/",
- "https://developers.google.com/+/features/play-installs",
- "https://developers.google.com/+/features/analytics"
- ]
- },
- "distribute/users/houseads": {
- "title": "",
- "resources": [
- "https://support.google.com/admob/topic/2784623",
- "https://developers.google.com/mobile-ads-sdk/download",
- "https://support.google.com/googleplay/android-developer/topic/2985714",
- "https://analyticsacademy.withgoogle.com/mobile-app",
- "https://support.google.com/analytics/answer/2611404",
- "https://support.google.com/admob/answer/3111064"
- ]
- },
- "distribute/users/youtube": {
- "title": "",
- "resources": [
- "https://support.google.com/youtube/answer/6140493",
- "https://support.google.com/youtube/answer/2797387"
- ]
- },
- "distribute/toolsreference/bestpractices/apps": {
- "title": "",
- "resources": [
- "distribute/googleplay/developer-console.html",
- "https://android-developers.blogspot.com/"
- ]
- },
- "distribute/toolsreference/bestpractices/games": {
- "title": "",
- "resources": [
- "google/play-services/games.html",
- "https://android-developers.blogspot.com/",
- "distribute/googleplay/developer-console.html",
- "https://www.youtube.com/watch?v=1RIz-cmTQB4"
- ]
- },
- "distribute/essentials/corequalityguidelines/visualdesign": {
- "title": "",
- "resources": [
- "design/index.html",
- "design/patterns/navigation.html",
- "design/patterns/actionbar.html",
- "design/style/iconography.html"
- ]
- },
- "distribute/essentials/corequalityguidelines/functionality": {
- "title": "",
- "resources": [
- "https://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html",
- "guide/components/tasks-and-back-stack.html",
- "training/basics/activity-lifecycle/recreating.html"
- ]
- },
- "distribute/essentials/tvqualityguidelines/visualdesign": {
- "title": "",
- "resources": [
- "design/tv/index.html",
- "training/tv/start/index.html"
- ]
- },
- "distribute/essentials/tvqualityguidelines/functionality": {
- "title": "",
- "resources": [
- "training/tv/start/hardware.html",
- "training/tv/games/index.html"
- ]
- },
- "distribute/essentials/wearqualityguidelines/visualdesign": {
- "title": "",
- "resources": [
- "design/wear/index.html",
- "training/building-wearables.html",
- "training/wearables/ui/index.html"
- ]
- },
- "distribute/essentials/wearqualityguidelines/functionality": {
- "title": "",
- "resources": [
- "training/wearables/notifications/index.html",
- "training/wearables/apps/index.html",
- "training/wearables/notifications/voice-input.html"
- ]
- },
- "distribute/essentials/autoqualityguidelines/visualdesign": {
- "title": "",
- "resources": [
- "training/auto/messaging/index.html",
- "training/auto/start/index.html"
- ]
- },
- "distribute/essentials/core/performance": {
- "title": "",
- "resources": [
- "https://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html",
- "training/articles/perf-anr.html",
- "https://android-developers.blogspot.com/2010/07/multithreading-for-performance.html"
- ]
- },
- "distribute/essentials/core/play": {
- "title": "",
- "resources": [
- "distribute/tools/launch-checklist.html",
- "https://play.google.com/about/developer-content-policy.html?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/answer/188189?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/answer/1078870?hl=zh-Hans",
- "https://android-developers.blogspot.com/2011/10/android-market-featured-image.html",
- "https://support.google.com/googleplay/android-developer/answer/113477?hl=zh-Hans"
- ]
- },
- "distribute/essentials/core/play/zhcn": {
- "title": "",
- "resources": [
- "intl/zh-cn/distribute/tools/launch-checklist.html",
- "https://play.google.com/about/developer-content-policy.html",
- "https://support.google.com/googleplay/android-developer/answer/188189?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/answer/1078870?hl=zh-Hans",
- "https://android-developers.blogspot.com/2011/10/android-market-featured-image.html",
- "https://support.google.com/googleplay/android-developer/answer/113477?hl=zh-Hans"
- ]
- },
- "distribute/essentials/tabletguidelines/optimize": {
- "title": "",
- "resources": [
- "design/style/metrics-grids.html",
- "design/style/devices-displays.html",
- "guide/practices/screens_support.html",
- //"guide/practices/screens_support.html#ConfigurationExamples",
- ]
- },
- "distribute/essentials/tabletguidelines/extrascreen": {
- "title": "",
- "resources": [
- "design/patterns/multi-pane-layouts.html",
- "training/design-navigation/multiple-sizes.html",
- "training/multiscreen/index.html",
- ]
- },
- "distribute/essentials/tabletguidelines/assets": {
- "title": "",
- "resources": [
- "design/style/iconography.html",
- "guide/topics/resources/providing-resources.html",
- "guide/practices/screens_support.html",
- "training/basics/supporting-devices/screens.html"
- ]
- },
- "distribute/essentials/tabletguidelines/fonts": {
- "title": "",
- "resources": [
- "design/style/metrics-grids.html",
- "design/style/typography.html",
- "guide/practices/screens_support.html",
- "training/multiscreen/screendensities.html"
- ]
- },
- "distribute/essentials/tabletguidelines/widgets": {
- "title": "",
- "resources": [
- "guide/topics/appwidgets/index.html#MetaData",
- "guide/topics/appwidgets/index.html",
- "design/patterns/widgets.html"
- ]
- },
- "distribute/essentials/tabletguidelines/versions": {
- "title": "",
- "resources": [
- "guide/topics/manifest/uses-sdk-element.html#ApiLevels",
- "guide/topics/manifest/uses-sdk-element.html",
- "training/basics/supporting-devices/platforms.html"
- ]
- },
- "distribute/essentials/tabletguidelines/hardware": {
- "title": "",
- "resources": [
- "guide/topics/manifest/uses-feature-element.html",
- "guide/topics/manifest/uses-feature-element.html#testing"
- ]
- },
- "distribute/essentials/tabletguidelines/tabletscreens": {
- "title": "",
- "resources": [
- "guide/practices/screens_support.html#DeclaringScreenSizeSupport",
- "guide/practices/screens_support.html"
- ]
- },
- "distribute/essentials/tabletguidelines/showcase": {
- "title": "",
- "resources": [
- "distribute/tools/launch-checklist.html",
- "https://play.google.com/apps/publish/",
- "https://play.google.com/intl/en_us/badges/",
- "distribute/tools/promote/device-art.html"
- ]
- },
- "distribute/essentials/tabletguidelines/showcase/zhcn": {
- "title": "",
- "resources": [
- "intl/zh-cn/distribute/tools/launch-checklist.html",
- "https://play.google.com/apps/publish/?hl=zh-Hans",
- "https://play.google.com/intl/en_us/badges/",
- "intl/zh-cn/distribute/tools/promote/device-art.html"
- ]
- },
- "distribute/essentials/tabletguidelines/googleplay": {
- "title": "",
- "resources": [
- "https://android-developers.blogspot.com/2013/10/more-visibility-for-tablet-apps-in.html",
- "google/play/filters.html"
- ]
- },
- "distribute/essentials/billionsquality/connectivity": {
- "title": "",
- "resources": [
- "training/basics/network-ops/managing.html",
- "training/monitoring-device-state/connectivity-monitoring.html",
- "guide/topics/providers/content-providers.html"
- ]
- },
- "distribute/essentials/billionsquality/capability": {
- "title": "",
- "resources": [
- "guide/practices/screens_support.html",
- "training/multiscreen/screendensities.html",
- "training/articles/memory.html"
- ]
- },
- "distribute/essentials/billionsquality/cost": {
- "title": "",
- "resources": [
- "https://medium.com/@wkalicinski/smallerapk-part-6-image-optimization-zopfli-webp-4c462955647d#.23hlddo3x",
- "training/basics/network-ops/managing.html"
- ]
- },
- "distribute/essentials/billionsquality/consumption": {
- "title": "",
- "resources": [
- "training/efficient-downloads/efficient-network-access.html",
- "training/monitoring-device-state/index.html"
- ]
- },
- "distribute/essentials/billionsquality/content": {
- "title": "",
- "resources": [
- "training/material/animations.html#Touch",
- "training/articles/perf-anr.html",
- "training/improving-layouts/index.html"
- ]
- },
- "distribute/essentials/tabletguidelines": {
- "title": "",
- "resources": [
- "distribute/essentials/quality/core.html",
- "https://android-developers.blogspot.com/2013/10/more-visibility-for-tablet-apps-in.html",
- "distribute/tools/launch-checklist.html",
- "distribute/tools/promote/device-art.html"
- ]
- },
- "distribute/getusers/notifications": {
- "title": "",
- "resources": [
- "distribute/engage/gcm.html",
- "https://play.google.com/about/developer-content-policy.html"
- ]
- },
- "distribute/engage/analytics": {
- "title": "",
- "resources": [
- "https://www.google.com/analytics/mobile/",
- "https://android-developers.blogspot.com/2013/10/improved-app-insight-by-linking-google.html",
- "https://developers.google.com/analytics/devguides/collection/android/"
- ]
- },
- "distribute/engage/widgets": {
- "title": "",
- "resources": [
- "design/patterns/widgets.html",
- "guide/topics/appwidgets/index.html"
- ]
- },
- "distribute/engage/translate": {
- "title": "",
- "resources": [
- "https://support.google.com/l10n/answer/6359997"
- ]
- },
- "distribute/engage/reengage": {
- "title": "",
- "resources": [
- "https://support.google.com/adwords/answer/6032073",
- "distribute/engage/deep-linking.html",
- "https://support.google.com/adwords/answer/6167162",
- "distribute/users/promote-with-ads.html"
- ]
- },
- "distribute/engage/appindexing": {
- "title": "",
- "resources": [
- "distribute/engage/intents.html",
- "distribute/engage/deep-linking.html",
- "training/app-indexing/index.html"
- ]
- },
- "distribute/engage/intents": {
- "title": "",
- "resources": [
- "guide/components/intents-filters.html",
- "distribute/engage/deep-linking.html",
- "distribute/engage/ads.html"
- ]
- },
- "distribute/getusers/expandnewmarkets": {
- "title": "",
- "resources": [
- "distribute/tools/localization-checklist.html",
- "https://support.google.com/googleplay/android-developer/table/3541286",
- "https://play.google.com/intl/en_us/badges/",
- "distribute/tools/promote/device-art.html",
- "https://www.youtube.com/watch?v=SkHHPf3EdzE"
- ]
- },
- "distribute/engage/gcm": {
- "title": "",
- "resources": [
- "https://developers.google.com/cloud-messaging/gcm",
- "https://developers.google.com/cloud-messaging/android/client",
- ]
- },
- "distribute/engage/gamesservices/related": {
- "title": "",
- "resources": [
- "https://developers.google.com/games/services/",
- "distribute/analyze/start.html",
- "distribute/googleplay/cardboard.html",
- "https://www.google.com/admob/"
- ]
- },
- "distribute/engage/gplus": {
- "title": "",
- "resources": [
- "distribute/users/ota-installs.html",
- "https://developers.google.com/identity/sign-in/android/people",
- "https://developers.google.com/+/mobile/android/"
- ]
- },
- "distribute/engage/community": {
- "title": "",
- "resources": [
- "distribute/users/build-community.html",
- "distribute/engage/video.html"
- ]
- },
- "distribute/engage/deeplinks": {
- "title": "",
- "resources": [
- "distribute/engage/easy-signin.html",
- "https://developers.google.com/app-indexing/",
- "https://developers.google.com/+/mobile/android/share/interactive-post"
- ]
- },
- "distribute/engage/appupdates": {
- "title": "",
- "resources": [
- "distribute/essentials/optimizing-your-app.html",
- "distribute/tools/launch-checklist.html",
- "distribute/googleplay/developer-console.html"
- ]
- },
- "distribute/engage/video/more": {
- "title": "",
- "resources": [
- "https://www.youtube.com/yt/dev/",
- "distribute/essentials/best-practices/games.html",
- "https://www.youtube.com/watch?v=RRelFvc6Czo"
- ]
- },
- "distribute/engage/community": {
- "title": "",
- "resources": [
- "distribute/users/build-community.html",
- "distribute/engage/video.html"
- ]
- },
- "distribute/engage/kiwi": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=WWArLD6nqrk"
- ]
- },
- "distribute/toolsreference/gpfefaq": {
- "title": "",
- "resources": [
- "https://www.google.com/edu/tablets/",
- "distribute/googleplay/edu/start.html",
- "https://play.google.com/about/developer-distribution-agreement-addendum.html",
- "distribute/essentials/quality/core.html",
- "distribute/essentials/quality/tablets.html"
- ]
- },
- "distribute/toolsreference/localizationchecklist/identifylocales": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/138294"
- ]
- },
- "distribute/toolsreference/localizationchecklist/identifylocales/zhcn": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/138294?hl=zh-Hans"
- ]
- },
- "distribute/tools/loc/designforloc": {
- "title": "",
- "resources": [
- "https://android-developers.blogspot.com/2013/03/native-rtl-support-in-android-42.html",
- "guide/topics/resources/string-resource.html#Plurals",
- "guide/topics/resources/string-resource.html",
- "reference/java/util/Locale.html"
- ]
- },
- "distribute/toolsreference/localizationchecklist/managestrings": {
- "title": "",
- "resources": [
- "guide/topics/resources/string-resource.html",
- "design/style/writing.html",
- "https://en.wikipedia.org/wiki/XLIFF"
- ]
- },
- "distribute/toolsreference/localizationchecklist/managestrings/zhcn": {
- "title": "",
- "resources": [
- "guide/topics/resources/string-resource.html",
- "intl/zh-cn/design/style/writing.html",
- "https://en.wikipedia.org/wiki/XLIFF"
- ]
- },
- "distribute/toolsreference/localizationchecklist/preplaunch": {
- "title": "",
- "resources": [
- "https://play.google.com/intl/en_us/badges/",
- "distribute/tools/promote/device-art.html"
- ]
- },
- "distribute/toolsreference/localizationchecklist/preplaunch/zhcn": {
- "title": "",
- "resources": [
- "https://play.google.com/intl/en_us/badges/",
- "intl/zh-cn/distribute/tools/promote/device-art.html"
- ]
- },
- "distribute/toolsreference/localizationchecklist/supportlaunch": {
- "title": "",
- "resources": [
- "distribute/tools/launch-checklist.html",
- ]
- },
- "distribute/toolsreference/localizationchecklist/supportlaunch/zhcn": {
- "title": "",
- "resources": [
- "intl/zh-cn/distribute/tools/launch-checklist.html",
- ]
- },
- "distribute/toolsreference/launchchecklist/understanding": {
- "title": "",
- "resources": [
- "tools/publishing/publishing_overview.html",
- "tools/publishing/preparing.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/policies": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/4430948",
- "https://support.google.com/googleplay/android-developer/topic/2364761",
- "https://support.google.com/googleplay/android-developer"
- ]
- },
- "distribute/toolsreference/launchchecklist/quality": {
- "title": "",
- "resources": [
- "distribute/essentials/quality/core.html",
- "distribute/essentials/quality/tablets.html",
- "https://developers.google.com/edu/guidelines"
- ]
- },
- "distribute/toolsreference/launchchecklist/rating": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/188189",
- ]
- },
- "distribute/toolsreference/launchchecklist/country": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/138294"
- ]
- },
- "distribute/toolsreference/launchchecklist/size": {
- "title": "",
- "resources": [
- "google/play/expansion-files.html",
- "tools/help/proguard.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/platform": {
- "title": "",
- "resources": [
- "guide/practices/screens_support.html",
- "about/dashboards/index.html",
- "guide/topics/manifest/uses-sdk-element.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/price": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/table/3541286",
- ]
- },
- "distribute/toolsreference/launchchecklist/purchasemethod": {
- "title": "",
- "resources": [
- "google/play/billing/index.html",
- "google/play/billing/billing_subscriptions.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/setprice": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/1169947",
- "https://support.google.com/googleplay/android-developer/answer/138412",
- "https://support.google.com/googleplay/android-developer/answer/112622",
- "https://support.google.com/googleplay/android-developer/answer/138000"
- ]
- },
- "distribute/toolsreference/launchchecklist/localization": {
- "title": "",
- "resources": [
- "distribute/tools/localization-checklist.html",
- "https://support.google.com/l10n/answer/6359997"
- ]
- },
- "distribute/toolsreference/launchchecklist/graphics": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/1078870",
- "https://android-developers.blogspot.com/2011/10/android-market-featured-image.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/productdetails": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/113475",
- "https://support.google.com/googleplay/android-developer/answer/1078870"
- ]
- },
- "distribute/toolsreference/launchchecklist/badges": {
- "title": "",
- "resources": [
- "https://play.google.com/intl/en_us/badges/",
- "distribute/tools/promote/linking.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/finalchecks": {
- "title": "",
- "resources": [
- "https://play.google.com/about/developer-content-policy.html",
- "https://support.google.com/googleplay/android-developer/answer/113476",
- "support.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/afterlaunch": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/113477",
- "https://support.google.com/googleplay/android-developer/answer/1153479",
- "https://support.google.com/payments/answer/2741495",
- "distribute/essentials/optimizing-your-app.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/understanding/zhcn": {
- "title": "",
- "resources": [
- "intl/zh-cn/tools/publishing/publishing_overview.html",
- "intl/zh-cn/tools/publishing/preparing.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/policies/zhcn": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/4430948?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/topic/2364761?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer?hl=zh-Hans"
- ]
- },
- "distribute/toolsreference/launchchecklist/quality/zhcn": {
- "title": "",
- "resources": [
- "intl/zh-cn/distribute/essentials/quality/core.html",
- "intl/zh-cn/distribute/essentials/quality/tablets.html",
- "https://developers.google.com/edu/guidelines?hl=zh-Hans"
- ]
- },
-
- "distribute/toolsreference/launchchecklist/rating/zhcn": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/188189?hl=zh-Hans",
- ]
- },
- "distribute/toolsreference/launchchecklist/country/zhcn": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/138294?hl=zh-Hans"
- ]
- },
- "distribute/toolsreference/launchchecklist/size/zhcn": {
- "title": "",
- "resources": [
- "google/play/expansion-files.html",
- "intl/zh-cn/tools/help/proguard.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/price/zhcn": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/table/3541286?hl=zh-Hans",
- ]
- },
- "distribute/toolsreference/launchchecklist/purchasemethod/zhcn": {
- "title": "",
- "resources": [
- "intl/zh-cn/google/play/billing/index.html",
- "google/play/billing/billing_subscriptions.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/setprice/zhcn": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/1169947?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/answer/138412?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/answer/112622?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/answer/138000?hl=zh-Hans"
- ]
- },
- "distribute/stories/localization": {
- "title": "",
- "resources": [
- "distribute/stories/games/rvappstudios-zombie.html",
- "distribute/stories/games/g4a-indian-rummy.html",
- "distribute/stories/apps/sayhi.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/localization/zhcn": {
- "title": "",
- "resources": [
- "intl/zh-cn/distribute/tools/localization-checklist.html",
- ]
- },
- "distribute/toolsreference/launchchecklist/graphics/zhcn": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/1078870?hl=zh-Hans",
- "https://android-developers.blogspot.com/2011/10/android-market-featured-image.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/productdetails/zhcn": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/113475?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/answer/1078870?hl=zh-Hans"
- ]
- },
- "distribute/toolsreference/launchchecklist/badges/zhcn": {
- "title": "",
- "resources": [
- "https://play.google.com/intl/en_us/badges/",
- "intl/zh-cn/distribute/tools/promote/linking.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/finalchecks/zhcn": {
- "title": "",
- "resources": [
- "https://play.google.com/about/developer-content-policy.html",
- "https://support.google.com/googleplay/android-developer/answer/113476?hl=zh-Hans",
- "support.html"
- ]
- },
- "distribute/toolsreference/launchchecklist/afterlaunch/zhcn": {
- "title": "",
- "resources": [
- "https://support.google.com/googleplay/android-developer/answer/113477?hl=zh-Hans",
- "https://support.google.com/googleplay/android-developer/answer/1153479?hl=zh-Hans",
- "https://support.google.com/payments/answer/2741495?hl=zh-Hans",
- "distribute/essentials/optimizing-your-app.html"
- ]
- },
- "distribute/monetize/premium": {
- "title": "",
- "resources": [
- "google/play/billing/index.html",
- "https://support.google.com/googleplay/android-developer/answer/4407611"
- ]
- },
- "distribute/monetize/freemium": {
- "title": "",
- "resources": [
- "google/play/billing/index.html",
- "https://support.google.com/googleplay/android-developer/answer/4407611"
- ]
- },
- "distribute/monetize/subscriptions": {
- "title": "",
- "resources": [
- "google/play/billing/billing_subscriptions.html",
- "https://support.google.com/googleplay/android-developer/answer/4407611"
- ]
- },
- "distribute/monetize/ecommerce": {
- "title": "",
- "resources": [
- "https://developers.google.com/wallet/instant-buy/",
- "https://support.google.com/googleplay/android-developer/answer/4407611"
- ]
- },
- "distribute/monetize/advertising": {
- "title": "",
- "resources": [
- "https://www.google.com/ads/admob/#subid=us-en-et-dac",
- "https://www.google.com/doubleclick/publishers/small-business/index.html",
- "https://support.google.com/googleplay/android-developer/topic/2985714",
- "training/monetization/ads-and-ux.html"
- ]
- },
- "distribute/monetize/admob": {
- "title": "",
- "resources": [
- "https://support.google.com/admob/topic/2784623",
- "https://admob.blogspot.com/",
- "https://analyticsacademy.withgoogle.com/mobile-app",
- "https://www.udacity.com/courses/ud876-3"
- ]
- },
- "distribute/monetize/paymentmethods": {
- "title": "",
- "resources": [
- "https://play.google.com/about/giftcards/",
- "https://support.google.com/googleplay/answer/2651410"
- ]
- },
- "distribute/monetize/conversions": {
- "title": "",
- "resources": [
- "https://support.google.com/adwords/answer/2471188",
- "https://developers.google.com/app-conversion-tracking/",
- "https://support.google.com/analytics/answer/2611404",
- "https://support.google.com/adwords/answer/1704341"
- ]
- },
- "autolanding": {
- "title": "",
- "resources": [
- "auto/index.html",
- "design/auto/index.html",
- "training/auto/index.html"
- ]
- },
- "tvlanding": {
- "title": "",
- "resources": [
- "tv/index.html",
- "design/tv/index.html",
- "training/tv/index.html"
- ]
- },
- "wearlanding": {
- "title": "",
- "resources": [
- "design/wear/index.html",
- "training/building-wearables.html",
- "training/wearables/ui/index.html"
- ]
- },
- "design/auto/auto_ui_guidelines": {
- "title": "",
- "resources": [
- "shareables/auto/AndroidAuto-audio-apps.pdf",
- "shareables/auto/AndroidAuto-messaging-apps.pdf",
- "shareables/auto/AndroidAuto-custom-colors.pdf"
- ]
- },
- "training/auto/overview": {
- "title": "",
- "resources": [
- "training/auto/start/index.html",
- "design/auto/index.html",
- "shareables/auto/AndroidAuto-custom-colors.pdf"
- ]
- },
- "training/auto/messaging": {
- "title": "",
- "resources": [
- "training/auto/messaging/index.html",
- "shareables/auto/AndroidAuto-messaging-apps.pdf",
- "samples/MessagingService/index.html"
- ]
- },
- "training/auto/media": {
- "title": "",
- "resources": [
- "training/auto/audio/index.html",
- "shareables/auto/AndroidAuto-audio-apps.pdf",
- "samples/MediaBrowserService/index.html"
- ]
- },
- "training/auto/distribute": {
- "title": "",
- "resources": [
- "distribute/essentials/quality/auto.html",
- "distribute/googleplay/auto.html"
- ]
- },
- "training/testing/overview": {
- "title": "",
- "resources": [
- "training/testing/start/index.html",
- "tools/testing/testing_android.html",
- "https://www.youtube.com/watch?v=vdasFFfXKOY"
- ]
- },
- "training/testing/tools": {
- "title": "",
- "resources": [
- "tools/testing-support-library/index.html",
- "tools/help/monkey.html",
- "tools/help/monkeyrunner_concepts.html",
- "tools/testing/testing_otheride.html",
- "https://source.android.com/devices/tech/debug/dumpsys.html"
- ]
- },
- "training/testing/techniques": {
- "title": "",
- "resources": [
- "training/testing/ui-testing/index.html",
- "training/testing/unit-testing/index.html",
- "training/testing/performance.html"
- ]
- },
- "training/testing/resources": {
- "title": "",
- "resources": [
- "https://github.com/googlesamples/android-testing",
- "https://www.youtube.com/watch?v=2I6fuD20qlY",
- "https://codelabs.developers.google.com/codelabs/android-testing/index.html",
- "https://github.com/googlesamples/android-testing-templates",
- "https://google.github.io/android-testing-support-library"
- ]
- },
- "distribute/stories/games": {
- "title": "",
- "resources": [
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_Deerhunter2014_gpgs.pdf",
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/ConcreteSoftware_PBABowling_gpgs.pdf",
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/Dragonplay_DragonplaySlots_gpgs.pdf",
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/Gameloft_Asphalt8_gpgs.pdf",
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_EternityWarriors3_gpgs.pdf",
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/HotheadGames_RivalsatWar_gpgs.pdf",
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/TMSOFT_Compulsive_gpgs.pdf",
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/Noodlecake_SuperStickmanGolf2_gpgs.pdf",
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/TinyRebel_DoctorWhoLegacy_gpgs.pdf",
- "https://storage.googleapis.com/androiddevelopers/shareables/stories/Senri_LeosFortune_gpgs.pdf"
- ]
- },
- "overview/zhcn/1": {
- "title": "",
- "resources": [
- "intl/zh-cn/distribute/essentials/quality/core.html",
- "intl/zh-cn/distribute/essentials/quality/tablets.html",
- "intl/zh-cn/distribute/tools/launch-checklist.html",
- "intl/zh-cn/tools/publishing/publishing_overview.html",
- "intl/zh-cn/distribute/tools/localization-checklist.html"
- ]
- },
- "overview/zhcn/2": {
- "title": "",
- "resources": [
- "intl/zh-cn/google/play/billing/index.html",
- "intl/zh-cn/google/play/billing/api.html",
- "intl/zh-cn/google/play/billing/billing_admin.html",
- "intl/zh-cn/google/play/billing/billing_testing.html",
- "intl/zh-cn/google/play/billing/billing_best_practices.html"
- ]
- },
- "overview/zhcn/3": {
- "title": "",
- "resources": [
- "https://play.google.com/intl/en_us/badges/",
-
- "intl/zh-cn/distribute/tools/promote/device-art.html",
- "intl/zh-cn/distribute/tools/promote/linking.html",
- "intl/zh-cn/distribute/tools/promote/brand.html",
- "intl/zh-cn/tools/help/proguard.html"
- ]
- },
- "overview/zhcn/4": {
- "title": "",
- "resources": [
- "intl/zh-cn/design/style/writing.html",
- "intl/zh-cn/training/basics/fragments/fragment-ui.html",
- "intl/zh-cn/training/multiscreen/index.html",
- "intl/zh-cn/training/monitoring-device-state/index.html"
- ]
- },
- "overview/carousel/zhcn": {
- "title": "",
- "resources": [
- "https://www.youtube.com/watch?v=vGV7FHGzpFU",
- "https://www.youtube.com/watch?v=aqc3ZOTzpdk",
- "https://www.youtube.com/watch?v=jaNrJ8uyLSc"
- ]
- },
- "overview/1": {
- "title": "",
- "resources": [
- "distribute/essentials/quality/core.html",
- "distribute/essentials/quality/tablets.html",
- "distribute/tools/launch-checklist.html",
- "tools/publishing/publishing_overview.html",
- "distribute/tools/localization-checklist.html"
- ]
- },
- "overview/2": {
- "title": "",
- "resources": [
- "google/play/billing/index.html",
- "google/play/billing/api.html",
- "google/play/billing/billing_admin.html",
- "google/play/billing/billing_testing.html",
- "google/play/billing/billing_best_practices.html"
- ]
- },
- "overview/3": {
- "title": "",
- "resources": [
- "https://play.google.com/intl/en_us/badges/",
- "distribute/tools/promote/device-art.html",
- "distribute/tools/promote/linking.html",
- "distribute/tools/promote/brand.html",
- "tools/help/proguard.html"
- ]
- },
- "overview/4": {
- "title": "",
- "resources": [
- "design/style/writing.html",
- "training/basics/fragments/fragment-ui.html",
- "training/multiscreen/index.html",
- "training/monitoring-device-state/index.html"
- ]
- },
-"tools/help/log": {
- "title": "",
- "resources": [
- "tools/help/am-logcat.html"
- ]
- },
-"tools/help/monitor": {
- "title": "",
- "resources": [
- "tools/help/am-memory.html",
- "tools/help/am-cpu.html",
- "tools/help/am-gpu.html",
- "tools/help/am-network.html"
- ]
- },
- "tools/help/data": {
- "title": "",
- "resources": [
- "tools/help/am-hprof.html",
- "tools/help/am-allocation.html",
- "tools/help/am-methodtrace.html",
- "tools/help/am-sysinfo.html"
- ]
- },
- "tools/help/shot": {
- "title": "",
- "resources": [
- "tools/help/am-screenshot.html",
- "tools/help/am-video.html"
- ]
- },
- "tools/performance/rendering": {
- "title": "",
- "resources": [
- "tools/performance/debug-gpu-overdraw/index.html",
- "tools/performance/profile-gpu-rendering/index.html",
- "tools/performance/hierarchy-viewer/setup.html",
- "tools/performance/hierarchy-viewer/index.html",
- "tools/performance/hierarchy-viewer/profiling.html"
- ]
- },
- "tools/performance/memory": {
- "title": "",
- "resources": [
- "tools/performance/memory-monitor/index.html",
- "tools/performance/heap-viewer/index.html",
- "tools/performance/allocation-tracker/index.html",
- "tools/performance/comparison.html"
- ]
- },
- "tools/performance/cpu": {
- "title": "",
- "resources": [
- "tools/performance/traceview/index.html",
- "tools/performance/systrace/index.html"
- ]
- },
- "tools/performance/battery": {
- "title": "",
- "resources": [
- "tools/performance/batterystats-battery-historian/index.html",
- "tools/performance/batterystats-battery-historian/charts.html"
- ]
- },
- "marshmallow/landing/resources": {
- "title": "",
- "resources": [
- "about/versions/marshmallow/android-6.0-changes.html",
- "about/versions/marshmallow/android-6.0.html",
- "about/versions/marshmallow/samples.html"
- ]
- },
- "marshmallow/landing/videos": {
- "title": "",
- "resources": [
- "https://youtu.be/U9tw5ypqEN0",
- "https://youtu.be/N72ksDKrX6c",
- "https://youtu.be/iZqDdvhTZj0",
- "https://www.youtube.com/watch?v=vcSj8ln-BlE",
- "https://youtu.be/LQoohRwojmw",
- "https://www.youtube.com/watch?v=VOn7VrTRlA4",
- "https://youtu.be/5sCQjeGoE7M",
- "https://www.youtube.com/watch?v=C8lUdPVSzDk",
- "https://www.youtube.com/watch?v=HXacyy0HSW0",
- "https://www.youtube.com/watch?v=OW1A4XFRuyc",
- "https://www.youtube.com/watch?v=j3QC6hcpy90",
- "https://www.youtube.com/watch?v=f17qe9vZ8RM",
- "https://www.youtube.com/watch?v=ndBdf1_oOGA"
- ]
- },
- "marshmallow/landing/more": {
- "title": "",
- "resources": [
- "training/permissions/requesting.html",
- "training/backup/autosyncapi.html",
- "training/monitoring-device-state/doze-standby.html",
- "training/app-links/index.html",
- "training/articles/assistant.html",
- "training/testing/performance.html",
- "https://developers.google.com/android/nexus/images"
- ]
- },
- "tools/landing/resources": {
- "title": "",
- "resources": [
- "tools/studio/index.html",
- "tools/studio/studio-features.html",
- "studio/intro/index.html",
- ]
- },
- "tools/landing/latest": {
- "title": "",
- "resources": [
- "https://medium.com/google-developers/how-often-should-you-update-android-studio-db25785c488e#.8blbql35x",
- "http://android-developers.blogspot.com/2016/04/android-studio-2-0.html",
- "https://medium.com/google-developers/writing-more-code-by-writing-less-code-with-android-studio-live-templates-244f648d17c7#.hczcm02du",
- ]
- },
- "work/landing/primary": {
- "title": "",
- "resources": [
- "work/overview.html",
- "work/guide.html",
- "https://www.google.com/work/android/developers/applyDevHub/",
- "work/managed-configurations.html",
- "work/cosu.html",
- "work/managed-profiles.html"
- ]
- },
- "work/landing/resources": {
- "title": "",
- "resources": [
- "https://developers.google.com/android/work/",
- "https://www.google.com/work/android/",
- "https://developers.google.com/android/work/build-dpc",
- "https://www.youtube.com/watch?v=jQWB_-o1kz4&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX",
- "https://www.youtube.com/watch?v=Za0OQo8DRM4",
- "https://www.youtube.com/watch?v=dH41OutAMNM&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX"
- ]
- },
- "work/apps": {
- "title": "",
- "resources": [
- "work/managed-profiles.html",
- "work/managed-configurations.html",
- "work/cosu.html",
- "https://www.youtube.com/watch?v=39NkpWkaH8M&index=2&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX",
- "samples/AppRestrictionSchema/index.html",
- "samples/AppRestrictionEnforcer/index.html"
- ]
- },
- "work/admin": {
- "title": "",
- "resources": [
- "https://developers.google.com/android/work/build-dpc",
- "samples/BasicManagedProfile/index.html",
- "https://www.youtube.com/watch?v=j3QC6hcpy90"
- ]
- }
-};
diff --git a/docs/html/jd_extras.js b/docs/html/jd_extras.js
deleted file mode 100644
index 44ccafa..0000000
--- a/docs/html/jd_extras.js
+++ /dev/null
@@ -1,4120 +0,0 @@
-/*
- * THIS FILE IS DEPRECATED.
- *
- * Please add and edit resource collections in jd_extras_<lang>.js
- * where lang matches the language code appropriate for the resource.
- * Last sync'd with jd_extras_<lang>.js on 29 Apr 2016.
- *
- */
-DISTRIBUTE_RESOURCES = DISTRIBUTE_RESOURCES.concat([
- /* TODO Remove standard resources from here, such as below
- */
- {
- "title":"Writing More Code by Writing Less Code with Android Studio Live Templates",
- "titleFriendly":"",
- "summary":"Unless you’re getting paid by the keystroke, no one wants to write repetitive boilerplate code.",
- "url":"https://medium.com/google-developers/writing-more-code-by-writing-less-code-with-android-studio-live-templates-244f648d17c7#.hczcm02du",
- "group":"",
- "keywords": [],
- "tags": ['studio'],
- "image":"https://cdn-images-1.medium.com/max/800/1*JkrYXGs1AxZAbK0sCLrJAQ.gif",
- "type":"medium"
- },
- {
- "title":"How Often Should You Update Android Studio?",
- "titleFriendly":"",
- "summary":"One of the beauties of Android Studio is how quickly is evolves and improves.",
- "url":"https://medium.com/google-developers/how-often-should-you-update-android-studio-db25785c488e#.8blbql35x",
- "group":"",
- "keywords": [],
- "tags": ['studio'],
- "image":"https://cdn-images-1.medium.com/max/2000/1*chMiA9mGa_FBUOoesHHk3Q.png",
- "type":"medium"
- },
- {
- "title":"SmallerAPK, Part 6: Image optimization, Zopfli & WebP",
- "category":"",
- "summary":"Series of posts on minimizing your APK size.",
- "url":"https://medium.com/@wkalicinski/smallerapk-part-6-image-optimization-zopfli-webp-4c462955647d#.23hlddo3x",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"https://cdn-images-1.medium.com/max/2000/1*chMiA9mGa_FBUOoesHHk3Q.png",
- "type":"medium"
- },
- {
- "title":"Measure your app’s user acquisition channels",
- "titleFriendly":"",
- "summary":"Get details on how to use the Developer Console User Acquisitions reports to discover where your users come from.",
- "url":"https://support.google.com/googleplay/android-developer/answer/6263332",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title":"Set up native app install banners in Chrome",
- "titleFriendly":"",
- "summary":"Get the details you need to add your native app or game to your site’s web app manifest file.",
- "url":"https://developers.google.com/web/updates/2015/03/increasing-engagement-with-app-install-banners-in-chrome-for-android#native",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title":"Optimize your store listing pages with experiments",
- "titleFriendly":"",
- "summary":"You can run experiments to find the most effective graphics and localized text for your app.",
- "url":"https://support.google.com/googleplay/android-developer/answer/6227309",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title":"Content Experiments for Mobile Apps",
- "titleFriendly":"",
- "summary":"Google Analytics Content Experiments allows you to test multiple variations of a given web page.",
- "url":"https://support.google.com/tagmanager/answer/6003007",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title":"Store Listing Experiments for Google Play",
- "titleFriendly":"",
- "summary":"Learn how to use Google Play’s new store listing optimization feature to get more installs of your app.",
- "url":"https://www.youtube.com/watch?v=B6ydLpkhq04",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/B6ydLpkhq04/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Use alpha/beta testing & staged rollouts",
- "titleFriendly":"",
- "summary":"Using the Google Play Developer Console, you can choose groups of users to test different versions of your app.",
- "url":"https://support.google.com/googleplay/android-developer/answer/3131213",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title":"Quizlet Developer Story",
- "titleFriendly":"",
- "summary":"Quizlet is an extremely popular online learning tool for students. See how they optimized for the classroom with Android and the power of Google Play for Education.",
- "url":"https://www.youtube.com/watch?v=Idu7VcTTXfk",
- "group":"",
- "keywords": [],
- "tags": [
- "#gpfe",
- "#googleplay"
- ],
- "image":"https://i1.ytimg.com/vi/Idu7VcTTXfk/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"What's New in GPFE",
- "titleFriendly":"",
- "summary":"Learn about the vision and philosophy behind Google Play for Education",
- "url":"https://www.youtube.com/watch?v=IKhU180eJMo",
- "group":"",
- "keywords": [],
- "tags": [
- "#gpfe",
- "#googleplay"
- ],
- "image":"https://i1.ytimg.com/vi/IKhU180eJMo/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Get started with Google Cast",
- "titleFriendly":"",
- "summary":"Build multi-screen experiences, let the user send video and audio content to TVs and speakers.",
- "url":"https://developers.google.com/cast/docs/ux_guidelines",
- "group":"",
- "keywords": ["cast", "chromecast", "video", "audio"],
- "tags": [],
- "image":"images/cards/card-cast_2x.jpg",
- "type":"Guide"
- },
- {
- "title":"Android Sender Applications",
- "titleFriendly":"",
- "summary":"Get an overview of how your Android app can act as a Google Cast sender app.",
- "url":"https://developers.google.com/cast/docs/android_sender",
- "group":"",
- "keywords": ["cast", "sender"],
- "tags": [],
- "image":"images/cards/card-cast_2x.jpg",
- "type":"Guide"
- },
- {
- "title":"Cast sample apps",
- "titleFriendly":"",
- "summary":"Get example Google Cast applications for both senders and receivers.",
- "url":"https://www.github.com/googlecast",
- "group":"",
- "keywords": ["cast", "samples"],
- "tags": [],
- "image":"images/cards/card-cast_2x.jpg",
- "type":"Samples"
- },
- {
- "title":"Get Cardboard",
- "titleFriendly":"",
- "summary":"Get your own Cardboard, today. Buy one from a manufacturer or build your own, and start developing.",
- "url":"https://www.google.com/get/cardboard/get-cardboard/",
- "group":"",
- "keywords": ["carboard","vr"],
- "tags": [],
- "image":"images/cards/card-cardboard_2x.png",
- "type":"Guide"
- },
- {
- "title":"Download the Cardboard SDK",
- "titleFriendly":"",
- "summary":"Grab the Cardboard libraries from GitHub and start creating VR apps in your favorite development environment.",
- "url":"https://developers.google.com/cardboard/android/download",
- "group":"",
- "keywords": ["carboard","vr"],
- "tags": [],
- "image":"images/cards/card-cardboard_2x.png",
- "type":"Guide"
- },
- {
- "title":"Cardboard design guidelines",
- "titleFriendly":"",
- "summary":"Focus on overall usability and avoiding common VR pitfalls while creating an immersive experience of your own.",
- "url":"https://www.google.com/design/spec-vr",
- "group":"",
- "keywords": ["carboard","vr"],
- "tags": [],
- "image":"images/cards/card-cardboard_2x.png",
- "type":"Design"
- },
- {
- "title":"Maps",
- "titleFriendly":"",
- "summary":"Give users the map that more than a billion people use every month.",
- "url":"https://developers.google.com/maps/documentation/android/",
- "group":"",
- "keywords": ["maps"],
- "tags": [],
- "image":"images/google/gps-maps.png",
- "type":"Guide"
- },
- {
- "title":"Places API",
- "titleFriendly":"",
- "summary":"give your users contextual information about where they are, when they’re there.",
- "url":"https://developers.google.com/places/android/",
- "group":"",
- "keywords": ["places","location", "context"],
- "tags": [],
- "image":"images/cards/card-places_2x.png",
- "type":"Guide"
- },
- {
- "title":"GCM Client for Android",
- "titleFriendly":"",
- "summary":"Send push notifications and pubsub from your server to Android devices around the world.",
- "url":"https://developers.google.com/cloud-messaging/android/client",
- "group":"",
- "keywords": ["push","gcm"],
- "tags": [],
- "image":"images/cards/card-google-cloud-messaging_16-9_2x.png",
- "type":"Guide"
- },
- {
- "title":"Google Cloud Messaging",
- "titleFriendly":"",
- "summary":"Learn about GCM and the kinds of services you can offer to users through push notifications",
- "url":"https://developers.google.com/cloud-messaging/gcm",
- "group":"",
- "keywords": ["push","gcm"],
- "tags": [],
- "image":"images/cards/card-google-cloud-messaging_16-9_2x.png",
- "type":"Guide"
- },
- {
- "title":"ClassDojo Developer Story",
- "titleFriendly":"",
- "summary":"ClassDojo is a classroom tool that helps teachers improve behavior in their classrooms quickly and easily. See how they optimized for the classroom with Android and the power of Google Play for Education.",
- "url":"https://www.youtube.com/watch?v=iokH4SAIfRw",
- "group":"",
- "keywords": [],
- "tags": [
- "#gpfe",
- "#googleplay"
- ],
- "image":"https://i1.ytimg.com/vi/iokH4SAIfRw/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Plan for Success",
- "titleFriendly":"",
- "summary":"5 tips from developers on creating great EDU apps.",
- "url":"https://www.youtube.com/watch?v=Eh2adsAyTKc",
- "group":"",
- "keywords": [],
- "tags": [
- "#gpfe",
- "#googleplay"
- ],
- "image":"https://i1.ytimg.com/vi/Eh2adsAyTKc/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Optimizing Apps for Education",
- "titleFriendly":"",
- "summary":"Learn how to optimize your app for teachers and students.",
- "url":"https://www.youtube.com/watch?v=_AZ6UcPz-_g",
- "group":"",
- "keywords": [],
- "tags": [
- "#gpfe",
- "#googleplay"
- ],
- "image":"https://i1.ytimg.com/vi/_AZ6UcPz-_g/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Ideas and Tools for Building Innovative Education Apps",
- "titleFriendly":"",
- "summary":"Are you hungry to build an awesome app for education but don't quite know where to start? Come hear about apps that teachers want, and the APIs you're going to need to build them! In particular, we'll talk about app ideas that combine APIs for Google Drive, Google Login, Android Single Task Mode and more to build transformative Educational apps that will delight educators and kids in and out of the classroom.",
- "url":"https://www.youtube.com/watch?v=iulXz8QTD1g",
- "group":"",
- "keywords": [],
- "tags": [
- "#gpfe",
- "#googleplay"
- ],
- "image":"https://i1.ytimg.com/vi/iulXz8QTD1g/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"DesignBytes: Intro To Material Design",
- "titleFriendly":"",
- "summary":"These days, UI designers need to be thinking about phones, tablets, laptops, TVs, smartwatches, and beyond. In this DesignByte we talk about how Google designers have been working on making cross-platform and multi-screen design easier. We wanted to build a design system that felt at home on every screen, from the smallest watch to the largest TV.",
- "url":"https://www.youtube.com/watch?v=p4gmvHyuZzw",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/p4gmvHyuZzw/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"DesignBytes: Paper and Ink: The Materials that Matter",
- "titleFriendly":"",
- "summary":"Join Rich Fulcher to learn about the materials of material design. See how virtual paper and ink form the foundation of your tactile user interface and master the rules that govern their behaviour.",
- "url":"https://www.youtube.com/watch?v=YaG_ljfzeUw",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/YaG_ljfzeUw/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"DesignBytes: Material Design in the Google I/O App",
- "titleFriendly":"",
- "summary":"Roman Nurik shares details on the design process for the Google I/O 2014 app. To check out the app's source code, visit github.com/google/iosched.",
- "url":"https://www.youtube.com/watch?v=XOcCOBe8PTc",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/XOcCOBe8PTc/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Toolbars for a flexible Action Bar & more",
- "titleFriendly":"",
- "summary":"Toolbars are a flexible View you can add to your Android app which provides many of the same APIs as the system provided Action Bar, but can also do so much more such as reacting to scrolling or being integrated directly into your layouts.",
- "url":"https://www.youtube.com/watch?v=kmUGLURRPkI",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/kmUGLURRPkI/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Protecting Implicit Intents with Runtime Checks",
- "titleFriendly":"",
- "summary":"Make sure you protect your implicit intents with a simple runtime check.",
- "url":"https://www.youtube.com/watch?v=HGElAW224dE",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/HGElAW224dE/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Tabs and ViewPager",
- "titleFriendly":"",
- "summary":"Showing multiple screens or pages of content is easy with the help of ViewPager and a PagerAdapter. Combining that with tabs make for an effective top level navigation strategy for your app or for moving between content at the same level of hierarchy within your app.",
- "url":"https://www.youtube.com/watch?v=zQekzaAgIlQ",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/zQekzaAgIlQ/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Battery Drain and Networking",
- "titleFriendly":"",
- "summary":"Let’s take a moment to make something insanely clear: As far as battery is concerned, NETWORKING is the biggest, baddest, dirtiest offender there is. And optimizing performance here isn’t easy. Since the chip isn’t always awake and draining power, means you can optimize how it wakes up, sends traffic, and saves battery.",
- "url":"https://www.youtube.com/watch?v=fEEulSk1kNY",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/fEEulSk1kNY/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Batching Background Work Until Later",
- "titleFriendly":"",
- "summary":"Yes, your app is special. But when it comes to battery use, sometimes it’s better to be part of the crowd. Why not spread the battery blame around a bit? Ian Ni-Lewis shows you how ridiculously easy it is to go from battery hog to team player in this video.",
- "url":"https://www.youtube.com/watch?v=-3ry8PxcJJA",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/-3ry8PxcJJA/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"The Performance Lifecycle",
- "titleFriendly":"",
- "summary":"Performance problems surface in your application at the least-wanted times (like right before you’re about to ship your first build). But don’t freak out: There’s a simple process that you can follow to help get your performance back under control.",
- "url":"https://www.youtube.com/watch?v=_kKTGK-Cb_4",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/_kKTGK-Cb_4/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Introduction to Android Studio",
- "titleFriendly":"",
- "summary":"Learn why you should migrate your projects to Android Studio now and how it can help you be more productive as a developer. Rich layout editor, handy suggestions and fixes, new Android project view - these are just some of the things you can expect from the IDE, which is built on the successful IntelliJ IDEA.",
- "url":"https://www.youtube.com/watch?v=K2dodTXARqc&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ",
- "group":"",
- "keywords": ["studio", "tools"],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/K2dodTXARqc/maxresdefault.jpg",
- "type":"video"
- },
-
- {
- "title":"Google Play Services 7.5",
- "titleFriendly":"",
- "summary":"This update brings App Invites, topics to GCM, GCMNetworkManager, Cast Remote Display API, Smart Lock for Passwords, Maps API for Android Wear, Google Fit extensions and more.",
- "url":"https://www.youtube.com/watch?v=M3Udfu6qidk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf",
- "group":"",
- "keywords": ["google play services"],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/M3Udfu6qidk/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Google Play Services 7.3",
- "titleFriendly":"",
- "summary":"This update brings the ability to connect multiple wearables simultaneously to a single phone. There are also some great new updates to Google Fit, including nutrition types, and to Location.",
- "url":"https://www.youtube.com/watch?v=FOn64iqlphk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf",
- "group":"",
- "keywords": ["google play services"],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/FOn64iqlphk/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Google Play Services 6.5",
- "titleFriendly":"",
- "summary":"Google Play services 6.5 includes new features in Google Maps, Google Drive and Google Wallet as well as the recently launched Google Fit API. ",
- "url":"https://www.youtube.com/watch?v=fvtMtfCuEpw&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf",
- "group":"",
- "keywords": ["google play services"],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/fvtMtfCuEpw/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Google Play Services 7.0",
- "titleFriendly":"",
- "summary":"Google Play services 7.0 is here! we've added the Places API, made enhancements to Location and Google Fit, and you can also remote control your Android TV through the new Nearby Connections API.",
- "url":"https://www.youtube.com/watch?v=F0Kh_RnSM0w&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf",
- "group":"",
- "keywords": ["google play services"],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/F0Kh_RnSM0w/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Running a Successful Games Business with Google",
- "titleFriendly":"",
- "summary":"Sure, we all want to make the next great gaming masterpiece. But we also want to feed our families and/or dogs. Join Bob Meese from the Google Play team as he gives you some key pointers on how to make sure you're best taking advantage of Google Play and running a successful games business.",
- "url":"https://www.youtube.com/watch?v=tDmnGNkTtlE",
- "group":"",
- "keywords": [],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/tDmnGNkTtlE/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Introduction to Android TV",
- "titleFriendly":"",
- "summary":"Android TV brings the Android platform to the living room with rich content and entertaining app experiences. In this video, Timothy introduces the design philosophy and developer components that make building TV experiences easier than ever before.",
- "url":"https://www.youtube.com/watch?v=6K_jxccHv5M&index=1&list=PLOU2XLYxmsILFBfx66ens76VMLMEPJAB0",
- "group":"",
- "keywords": ["tv"],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/6K_jxccHv5M/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Introduction to Android Auto",
- "titleFriendly":"",
- "summary":"Android Auto brings the Android platform to the car in a way that's optimized for the driving experience. It's the same platform you already use for phones, tablets, televisions, wearables, and more. ",
- "url":"https://www.youtube.com/watch?v=ctiaVxgclsg&list=PLWz5rJ2EKKc9BdE_PSLNIGjXXr3h_orXM",
- "group":"",
- "keywords": ["auto"],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/ctiaVxgclsg/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Debugging and testing in Android Studio",
- "titleFriendly":"",
- "summary":"This video introduces the state of unit testing support in Studio and Google’s new Android Testing Support Library for functional UI testing and running instrumented tests on a device.",
- "url":"https://www.youtube.com/watch?v=2I6fuD20qlY",
- "group":"",
- "keywords": ["testing"],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/2I6fuD20qlY/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"Android Testing (Android Dev Summit 2015)",
- "titleFriendly":"",
- "summary":"Overview of the testing tools and frameworks provided by Google and how they can help you to iterate more quickly and maintain a more healthy codebase.",
- "url":"https://www.youtube.com/watch?v=vdasFFfXKOY",
- "group":"",
- "keywords": ["testing"],
- "tags": [
- ],
- "image":"https://i1.ytimg.com/vi/vdasFFfXKOY/maxresdefault.jpg",
- "type":"video"
- },
- {
- "title":"dumpsys",
- "titleFriendly":"",
- "summary":"A tool that runs on the device and provides information about the status of system services.",
- "url":"https://source.android.com/devices/tech/debug/dumpsys.html",
- "group":"",
- "keywords": ["testing"],
- "tags": [
- ],
- "image":"",
- "type":"google"
- },
- {
- "title":"Android Testing Samples",
- "titleFriendly":"",
- "summary":"A collection of samples demonstrating different frameworks and techniques for automated testing.",
- "url":"https://github.com/googlesamples/android-testing",
- "group":"",
- "keywords": ["testing"],
- "tags": [
- ],
- "image":"images/testing/testing-icon.png",
- "type":"Samples"
- },
- {
- "title":"Android Testing Templates",
- "titleFriendly":"",
- "summary":"A collection of Google's Android testing tools and frameworks, all integrated in a single application project.",
- "url":"https://github.com/googlesamples/android-testing-templates",
- "group":"",
- "keywords": ["testing"],
- "tags": [
- ],
- "image":"images/testing/testing-icon.png",
- "type":"Samples"
- },
- {
- "title":"Android Testing Support Library (GitHub)",
- "titleFriendly":"",
- "summary":"A resource page on GitHub for the Android Testing Support Library.",
- "url":"https://google.github.io/android-testing-support-library",
- "group":"",
- "keywords": ["testing"],
- "tags": [
- ],
- "image":"images/testing/testing-icon.png",
- "type":"Samples"
- },
- {
- "title":"Android Testing Codelab",
- "titleFriendly":"",
- "summary":"This codelab shows how to build an Android app from the ground up in Android Studio, using a Model View Presenter architecture, Unit Tests and Instrumentation Tests.",
- "url":"https://codelabs.developers.google.com/codelabs/android-testing/index.html",
- "group":"",
- "keywords": ["testing"],
- "tags": [
- ],
- "image":"images/testing/testing-icon.png",
- "type":"google"
- },
- {
- "title":"Developer Registration",
- "titleFriendly":"",
- "summary":"Additional information about the registration process.",
- "url":"https://support.google.com/googleplay/android-developer/answer/113468",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title": "Google Play Distribution and Seller Countries",
- "titleFriendly":"",
- "summary": "List of countries and territories where you can distribute your apps in Google Play.",
- "url":"https://support.google.com/googleplay/android-developer/answer/138294",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title": "支持向Google Play用户发布应用的地区",
- "lang": "zh-cn",
- "titleFriendly":"",
- "summary": "支持向Google Play用户发布应用的国家/地区。",
- "url":"https://support.google.com/googleplay/android-developer/answer/138294?hl=zh-Hans",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title":"Google Play Content Policies",
- "titleFriendly":"",
- "summary":"Details on policies relating to your developer account and app distribution is governed.",
- "url":"https://support.google.com/googleplay/android-developer/topic/3453577",
- "group":"",
- "keywords": [],
- "tags": ["#developersupport"],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title":"Google Play Badge Generator",
- "titleFriendly":"",
- "summary":"Build badges for your app in just a few clicks, or download hi-res badge assets localized for a variety of languages.",
- "url":"https://play.google.com/intl/en_us/badges/",
- "group":"",
- "keywords": [],
- "tags": ["#developersupport"],
- "image":"images/gp-badges-set.png",
- "type":"google"
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["#developersupport #termsandpolicies"],
- "url": "https://support.google.com/googleplay/android-developer/answer/4407611",
- "timestamp": 1194884220000,
- "image": 'images/play_dev.jpg',
- "title": "Google Play Terms and Policies",
- "summary": "Developer terms and policies that apply when you distribute apps in Google Play.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "title":"Google Play Policy Center",
- "titleFriendly":"",
- "summary":"A central resource for you to learn about Google Play policies and guidelines.",
- "url":"https://support.google.com/googleplay/android-developer/answer/4430948",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"https://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389397_en_v0",
- "type":"google"
- },
- {
- "title":"Google Play应用政策中心",
- "titleFriendly":"",
- "summary":"一个方便你了解Google Play政策和指南的中心资源。",
- "url":"https://support.google.com/googleplay/android-developer/answer/4430948?hl=zh-Hans",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"https://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389397_en_v0",
- "type":"google"
- },
- {
- "title":"Developer Help Center",
- "titleFriendly":"",
- "summary":"Complete details on getting started, publishing, troubleshooting, and more.",
- "url":"https://support.google.com/googleplay/android-developer",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/cards/google-play_2x.png",
- "type":"google"
- },
- {
- "title":"开发者帮助中心",
- "titleFriendly":"",
- "summary":"完整资料帮助开发者新手入手,发布,故障排除,等等",
- "url":"https://support.google.com/googleplay/android-developer?hl=zh-Hans",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/play_dev.jpg",
- "type":"google"
- },
- {
- "title":"Google for Education",
- "titleFriendly":"",
- "summary":"Find out more about how Google can support your work with apps and tablets.",
- "url":"https://www.google.com/edu/tablets/",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"distribute/images/gp-edu-apps-image.jpg",
- "type":"google"
- },
- {
- "title":"Keeping Your App Responsive",
- "titleFriendly":"",
- "summary":"This document describes how the Android system determines whether an application is not responding and provides guidelines for ensuring that your application stays responsive.",
- "url":"training/articles/perf-anr.html",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"",
- "type":"google"
- },
- {
- "title":"Google Play Game Services",
- "titleFriendly":"",
- "summary":"Make your games social with Google Play game services. Add achievements, leaderboards, real-time multiplayer, and other popular features using the Google Play game services SDK.",
- "url":"https://developers.google.com/games/services/",
- "group":"",
- "keywords": ["games","play games"],
- "tags": [],
- "image":"images/google/gps-play_games_logo.png",
- "type":"google"
- },
- {
- "title":"Get Started with Analytics",
- "titleFriendly":"",
- "summary":"Get advanced insight into how players discover and play your games.",
- "url":"distribute/analyze/start.html",
- "group":"",
- "keywords": ["analytics"],
- "tags": [],
- "image": "images/cards/analytics-mobile_2x.jpg",
- "type": "distribute"
- },
- {
- "title":"Build VR with Google Cardboard",
- "titleFriendly":"",
- "summary":"Turn any phone into a virtual reality headset with a Cardboard viewer and experiment with adding virtual reality to your games with the Cardboard SDK.",
- "url":"distribute/googleplay/cardboard.html",
- "group":"",
- "keywords": ["cardboard"],
- "tags": [],
- "image":"images/cards/card-cardboard_2x.png",
- "type": "distribute"
- },
- {
- "title":"Monetize your apps intelligently",
- "titleFriendly":"",
- "summary":"Generate revenue from your free games with ads tailored to match your game's look and feel.",
- "url":"https://www.google.com/admob/",
- "group":"",
- "keywords": ["AdMob"],
- "tags": [],
- "image":"images/cards/admob-analytics_2x.png",
- "type": "distribute"
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "versions", "blog", "googleplay"
- ],
- "url": "https://android-developers.blogspot.com/",
- "timestamp": 1004884220000,
- "image": "images/blog.jpg",
- "title": "Android Developers Blog",
- "summary": "Follow the latest news on Android design, development, and distribution.",
- "keywords": [],
- "type": "blog",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Making Android Apps that Play Nice",
- "summary": "Audio lifecycle and expected audio behaviors for Android apps.",
- "keywords": [],
- "type": "blog",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://android-developers.blogspot.com/2010/07/multithreading-for-performance.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Multithreading for Performance",
- "summary": "Ways to improve performance through multi-threading.",
- "keywords": [],
- "type": "blog",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://play.google.com/about/developer-content-policy.html",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Developer Program Policies",
- "summary": "Guidelines acceptable content in Google Play. Please read and understand the policies before publishing.",
- "keywords": [],
- "type": "google",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/188189",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Rating your application content for Google Play",
- "summary": "How to choose the appropriate content ratings level for your apps.",
- "keywords": [],
- "type": "support",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["devices", "nexus", "testing"],
- "url": "https://developers.google.com/android/nexus/images",
- "timestamp": 1194884220000,
- "image": "images/cards/card-download_16-9_2x.png",
- "title": "Factory Images for Nexus Devices",
- "summary": "System image files for Android 6.0 and other Android releases.",
- "keywords": ["nexus, downloads"],
- "type": "support",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/188189?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "针对Google Play为你的应用内容分级",
- "summary": "如何为你的应用内容分级。",
- "keywords": [],
- "type": "support",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://android-developers.blogspot.com/2011/10/android-market-featured-image.html",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Google Play Featured Image Guidelines",
- "summary": "How to create attractive, effective Featured Images for your apps.",
- "keywords": [],
- "type": "support",
- "titleFriendly": ""
- },
-{
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/113477",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Supporting your users",
- "summary": "Options for supporting users.",
- "keywords": [],
- "type": "support",
- "titleFriendly": ""
- },
-{
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/113477?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "为用户提供支持",
- "summary": "为用户提供支持的各种选择。",
- "keywords": [],
- "type": "support",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "guide/practices/screens_support.html#ConfigurationExamples",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Configuration examples",
- "summary": "How to declare layouts and other resources for specific screen sizes.",
- "keywords": [],
- "type": "design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "training/design-navigation/multiple-sizes.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Planning for Multiple Touchscreen Sizes",
- "summary": "",
- "keywords": [],
- "type": "design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "training/multiscreen/index.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Designing for Multiple Screens",
- "summary": "Designing an intuitive, effective navigation for tablets and other devices.",
- "keywords": [],
- "type": "design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "guide/topics/resources/providing-resources.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Providing Resources",
- "summary": "Layouts and drawable resources for specific ranges of device screens.",
- "keywords": [],
- "type": "design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "training/basics/supporting-devices/screens.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Supporting Different Screens",
- "summary": "Optimizing the user experience for different screen sizes and densities.",
- "keywords": [],
- "type": "design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "guide/topics/appwidgets/index.html#MetaData",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Adding the AppWidgetProviderInfo Metadata",
- "summary": "How to set the height and width dimensions of a widget.",
- "keywords": [],
- "type": "design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "guide/topics/manifest/uses-sdk-element.html#ApiLevels",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Android API Levels",
- "summary": "Introduction to API levels and how they relate to compatibility.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "guide/practices/screens_support.html#DeclaringScreenSizeSupport",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Declaring screen size support",
- "summary": "How to declare support for screen sizes in your app\'s manifest.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "training/material/animations.html#Touch",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Customize Touch Feedback",
- "summary": "Provide visual confirmation when users interact with your UI.",
- "keywords": [],
- "type": "develop",
- "category": "guide"
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "guide/topics/manifest/uses-feature-element.html#testing",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Checking for hardware feature requirements",
- "summary": "Determining an app’s hardware and software requirements.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://play.google.com/apps/publish/",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Google Play Developer Console",
- "summary": "The tools console for publishing your app.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://play.google.com/apps/publish/?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Google Play 开发者控制台",
- "summary": "发布应用的开发者控制台",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://youtu.be/SkHHPf3EdzE",
- "timestamp": 1194884220000,
- "image": "https://i1.ytimg.com/vi/SkHHPf3EdzE/maxresdefault.jpg",
- "title": "Level Up Your Android Game",
- "summary": "Learn how to take your game to the next level on Google Play.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/+/mobile/android/share/interactive-post",
- "timestamp": 1194884220000,
- "image": 'images/google/gps-googleplus.png',
- "title": "Sharing interactive posts to Google+ from your Android app",
- "summary": "Interactive posts provide an easy and prominent way to allow users to share your site or app with their friends and invite them to take a specific action.",
- "keywords": ["Interactive", "Google+"],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://play.google.com/about/developer-distribution-agreement.html",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Developer Distribution Agreement",
- "summary": "Terms for distributing and selling apps and in-app products in Google Play.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/113417",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Inappropriate content in comments and applications",
- "summary": "More details on what content is appropriate.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/legal/troubleshooter/1114905",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Removing content from Google",
- "summary": "Find how how to request the removal of content that infringes on your trademark.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://play.google.com/about/developer-distribution-agreement-addendum.html",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Google Play for Education Addendum",
- "summary": "Review the education-specific requirements.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://android-developers.blogspot.com/2013/03/native-rtl-support-in-android-42.html",
- "timestamp": null,
- "image": null,
- "title": "Native RTL Support in Android 4.2",
- "summary": "Blog post that explains how to support RTL in your UI.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "guide/topics/resources/string-resource.html#Plurals",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Quantity Strings (Plurals)",
- "summary": "How to work with string plurals according to rules of grammar in a given locale.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "reference/java/util/Locale.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Locale",
- "summary": "Determine what CLDR data or version of the Unicode spec a particular Android platform version uses.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "guide/topics/resources/string-resource.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "String Resources",
- "summary": "Explains how to use string resources in your UI.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "distribute/tools/localization-checklist.html#strings",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Manage strings for localization",
- "summary": "Guidance on having your strings translation ready.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "tools/publishing/publishing_overview.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "General Publishing Overview",
- "summary": "Start here for an overview of publishing options for Android apps.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "tools/publishing/preparing.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Preparing for Release",
- "summary": "Developer documentation on how to build the signed, release-ready APK. This process is the same for all Android apps.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "distribute/googleplay/policies/index.html",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Google Play Policies and Guidelines",
- "summary": "An overview of Google Play policies for spam, intellectual property, and ads, with examples of common problems.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/topic/2364761",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Policy and Best Practices",
- "summary": "Help Center document describing various content policies and processes.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/topic/2364761?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "政策和最佳做法",
- "summary": "内容政策和流程",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "google/play/expansion-files.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "APK Expansion Files",
- "summary": "Developer documentation describing APK Expansion Files and how to support them in your app.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "tools/help/proguard.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "ProGuard",
- "summary": "Developer documentation describing how to use ProGuard to shrink, optimize, and obfuscate your code prior to release.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "title":"Dashboards",
- "titleFriendly":"",
- "summary":"This page provides information about the relative number of devices that share a certain characteristic, such as Android version or screen size. This information may help you prioritize efforts for supporting different devices by revealing which devices…",
- "url":"about/dashboards/index.html",
- "group":"",
- "keywords": ["android","dashboard","platforms","versions"],
- "tags": ["#ecosystem","#versions","#whatsnew"],
- "image":"https://chart.googleapis.com/chart?chl=GL%201.1%20only%7CGL%202.0%7CGL%203.0&chf=bg%2Cs%2C00000000&chd=t%3A0.1%2C93.5%2C6.4&chco=c4df9b%2C6fad0c&chs=400x250&cht=p",
- "lang":"en",
- "type":"about"
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/wallet/instant-buy/",
- "timestamp": 1194884220000,
- "image": "",
- "title": "Android Pay APIs",
- "summary": "Developer documentation describing Instant Buy and how to support it in your apps.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/1169947",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Selling Apps in Multiple Currencies",
- "summary": "Help Center document describing how pricing works in Google Play.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/1169947?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "以多种货币销售应用",
- "summary": "如何在Google Play为应用定价",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/138412",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Prices and supported currencies",
- "summary": "Help Center document listing supported currencies for pricing your apps.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/138412?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "各国家/地区获许定价范围和货币",
- "summary": "各国家/地区获许定价范围和货币列表",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/112622",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Transaction Fees",
- "summary": "Help Center document describing transaction fees for priced apps and in-app products.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/112622?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "交易费用",
- "summary": "销售的应用和应用内产品的交易费。",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/138000",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Specifying tax rates",
- "summary": "Help Center document describing how to set tax rates for different countries.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/138000?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "税率",
- "summary": "如何设置不同国家/地区的税率",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "guide/topics/resources/localization.html",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Localizing with Resources",
- "summary": "Developer guide to localizing resources in your app.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/113475",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Category types",
- "summary": "Help Center document listing available categories for apps.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/113475?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "类别",
- "summary": "应用的类别列表。",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/113476",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Updates",
- "summary": "Requirements for app updates in Google Play.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/113476?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "更新应用",
- "summary": "更新Google Play应用的要求。",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/1153479",
- "timestamp": 1194884220000,
- "image": null,
- "title": "In-app Billing",
- "summary": "Help Center document describing how to correctly set up In-app Billing.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/1153479?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": null,
- "title": "应用内结算",
- "summary": "如何正确设置应用内商品和订阅结算。",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "#gpfe",
- "#googleplay"
- ],
- "url": "https://youtu.be/vzvpcEffvaE",
- "timestamp": 1383243492000,
- "image": "https://i1.ytimg.com/vi/vzvpcEffvaE/maxresdefault.jpg",
- "title": "Introducing Tablets with Google Play for Education",
- "summary": "Schools in Hillsborough, New Jersey were among the first to try out Nexus 7 tablets with Google Play for Education. See the difference it made for students, teachers, and administrators.",
- "keywords": [],
- "type": "video",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "#engagement",
- ],
- "url": "https://www.youtube.com/yt/dev/",
- "timestamp": 1383243492000,
- "image": "https://www.youtube.com/yt/dev/media/images/yt-dev-home-hero.jpg",
- "title": "YouTube for Developers",
- "summary": "The YouTube APIs and Tools enable you to integrate YouTube's video content and functionality into your website, app, or device.",
- "keywords": [],
- "type": "youtube",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "#engagement",
- ],
- "url": "https://www.google.com/analytics/mobile/",
- "timestamp": 1383243492000,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Mobile App Analytics",
- "summary": "Mobile App Analytics measures what matters most at all key stages: from first discovery and download to in-app purchases. ",
- "keywords": ["analytics,user behavior"],
- "type": "Guide",
- "titleFriendly": ""
- },
-
-
- {
- "lang": "en",
- "group": "",
- "tags": [
- "#gcm",
- ],
- "url": "https://www.youtube.com/watch?v=y76rjidm8cU",
- "timestamp": 1383243492000,
- "image": "https://1.bp.blogspot.com/-IF-1-1kA0sg/UYwTidxdi3I/AAAAAAAAAEU/ellLeQ-E1vs/s800/google-io-lockup-2.png",
- "title": "Google Cloud Messaging at I/O 2013",
- "summary": "Google Cloud Messaging allows your services to efficiently send data to applications on Android devices. See what's new, and learn how to use GCM to make your apps more efficient.",
- "keywords": ["gcm"],
- "type": "youtube",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "#gcm",
- ],
- "url": "https://developer.chrome.com/apps/cloudMessagingV2",
- "timestamp": 1383243492000,
- "image": "images/kk-chromium-icon.png",
- "title": "Google Cloud Messaging for Chrome",
- "summary": "Google Cloud Messaging for Chrome (GCM) is a service for signed-in Chrome users that helps developers send message data from servers to their Chrome apps and extensions.",
- "keywords": ["gcm"],
- "type": "guide",
- "titleFriendly": ""
- },
-
- {
- "lang": "en",
- "group": "",
- "tags": [
- "#sdkupdates"
- ],
- "url": "https://android-developers.blogspot.com/2013/07/making-beautiful-android-app-icons.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Make Beautiful Android App Icons",
- "summary": "Follow these in-depth launcher icon tips on the Android Developers blog.",
- "keywords": [],
- "type": "blog",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "#sdkupdates"
- ],
- "url": "https://android-developers.blogspot.com/2012/12/localize-your-promotional-graphics-on.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Localize Your Promotional Graphics",
- "summary": "Learn how to capitalise on international audiences.",
- "keywords": [],
- "type": "blog",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "#sdkupdates"
- ],
- "url": "https://android-developers.blogspot.com/2013/10/making-your-app-content-more-accessible.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Make your App Content more Accessible with App Linking",
- "summary": "About using search and deep linking to get more users.",
- "keywords": [],
- "type": "blog",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/+/mobile/android/share/interactive-post",
- "timestamp": 1194884220000,
- "image": 'images/google/gps-googleplus.png',
- "title": "Sharing interactive posts to Google+ from your Android app",
- "summary": "Interactive posts provide an easy and prominent way to allow users to share your site or app with their friends and invite them to take a specific action.",
- "keywords": ["Interactive", "Google+"],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/+/mobile/android/",
- "timestamp": 1194884220000,
- "image": 'images/google/gps-googleplus.png',
- "title": "Google+ Platform",
- "summary": "Find out about features such as interactive posts, Hangouts, accessing basic user details and their social graphs to make your app more personal.",
- "keywords": ["Google+"],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/2528691",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "How to add multiple user accounts to your Developer Console for testing and more.",
- "summary": "",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/+/mobile/android/share/deep-link",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Adding deep linking to Google+ posts shared from your Android app",
- "summary": "",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "google/play/licensing/index.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Application Licensing",
- "summary": "Information on the features of Google Play to protect your apps’ licences.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "design/style/writing.html",
- "timestamp": 1194884220000,
- "image": null,
- "title": "Writing Style",
- "summary": "Android Design guidelines for voice and style in your UI.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://en.wikipedia.org/wiki/XLIFF",
- "timestamp": 1194884220000,
- "image": null,
- "title": "XML Localisation Interchange File Format (XLIFF)",
- "summary": "Background information on XLIFF.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/1078870",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "Graphic Assets for your Application",
- "summary": "Details about the graphics you can add to your product listing.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/googleplay/android-developer/answer/1078870?hl=zh-Hans",
- "timestamp": 1194884220000,
- "image": "images/play_dev.jpg",
- "title": "为你的应用的图片资源",
- "summary": "如何在你的应用的商品详情页面上添加图片资源。",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/payments/answer/2741495",
- "timestamp": null,
- "image": null,
- "title": "Issuing Refunds",
- "summary": "Help Center document describing how to issue refunds.",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/payments/answer/2741495?hl=zh-Hans",
- "timestamp": null,
- "image": null,
- "title": "退回訂單款項",
- "summary": "如何退还已收取的订单款项。",
- "keywords": [],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://android-developers.blogspot.com/2013/11/bring-your-apps-into-classroom-with.html",
- "timestamp": null,
- "image": "distribute/images/gp-edu-apps-image.jpg",
- "title": "Google play for education",
- "summary": " ",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["localization", "pricing", "developer support"],
- "url": "https://support.google.com/googleplay/android-developer/table/3541286",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Supported locations for distributing your apps in Google Play",
- "summary": "Countries and regions where you can distribute your app in Google Play.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": ["localization", "pricing", "developer support"],
- "url": "https://support.google.com/googleplay/android-developer/table/3541286?hl=zh-Hans",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "支持向Google Play用户发布应用的地区",
- "summary": "支持向Google Play用户发布应用的国家/地区。",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["games", "localization", "quality"],
- "url": "https://www.youtube.com/watch?v=SkHHPf3EdzE",
- "timestamp": null,
- "image": "https://developers.google.com/apps/images/io_2013/google-io-logo.png",
- "title": "Level Up Your Android Game",
- "summary": "Learn how to take your game to the next level in this Google I/O session.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["support"],
- "url": "https://support.google.com/groups/answer/46601",
- "timestamp": null,
- "image": null,
- "title": "Google Groups",
- "summary": "Create a group for your community.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["support"],
- "url": "https://support.google.com/plus/topic/2888488",
- "timestamp": null,
- "image": null,
- "title": "Google+ Communities",
- "summary": "Host a Google+ community for testers or users.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["monetize", "ads"],
- "url": "https://www.google.com/doubleclick/publishers/small-business/index.html",
- "timestamp": null,
- "image": "https://www.google.com/doubleclick/publishers/small-business/images/define_ad.png",
- "title": "DoubleClick for Publishers",
- "summary": "A free ad management solution that helps growing publishers sell, schedule, deliver, and measure all of their digital ad inventory.",
- "keywords": ["ads"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["monetize", "ads"],
- "url": "https://support.google.com/googleplay/android-developer/topic/2985714",
- "timestamp": null,
- "image":"images/play_dev.jpg",
- "title": "Policy Center: Ads",
- "summary": "Introduction to ads and system interference policies in Google Play.",
- "keywords": ["ads"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/2611404",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Create Audience lists in Google Analytics",
- "summary": "Find out how to use your analytics data to discover high value users and create remarketing audiences to use in AdMob.",
- "keywords": ["ads, analytics, monetize"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://admob.blogspot.com/",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Inside Admob",
- "summary": "Google’s official blog for news, tips, and information on the AdMob developer platform.",
- "keywords": ["ads, analytics, monetize"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/admob/answer/3111064",
- "timestamp": null,
- "image": "distribute/images/advertising.jpg",
- "title": "AdMob in-app conversion tracking",
- "summary": "Use in-app conversion tracking to attribute revenue back to your IAP promotion campaigns and determine which ones earn you the most.",
- "keywords": ["ads, analytics, conversions"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["monetize", "giftcards"],
- "url": "https://play.google.com/about/giftcards/",
- "timestamp": null,
- "image": "images/gp-balance.png",
- "title": "Google Play Gift Cards",
- "summary": "Buy Google Play gift cards online or at a variety of retail stores.",
- "keywords": ["gift card"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["monetize", "paymentmethods"],
- "url": "https://support.google.com/googleplay/answer/2651410",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Google Play accepted payment methods",
- "summary": "Support details on the payment methods supported in Google Play.",
- "keywords": ["gift card"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/adwords/answer/2471188",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "AdWords Conversion Optimizer",
- "summary": "Learn how Conversion Optimizer works to find the users who are most likely to convert and to serve them your conversion ads.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/app-conversion-tracking/",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Track conversions with the AdWords SDK or server API",
- "summary": "Use the lightweight AdWords app SDK or server-to-server API to track remarketing conversions.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/2611404",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Create Remarketing Audiences in Google Analytics",
- "summary": "Learn how to use preconfigured audiences created by the Analytics team or create your own to use in your conversion campaigns.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/adwords/answer/1704341",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Link your Google Analytics and AdWords accounts",
- "summary": "Gain greater insight into how AdWords is driving app engagement and conversions, and use this insight to improve your ads and app.",
- "keywords": [],
- "type": "distribute",
- "titleFriendly": ""
- },
-
- {
- "lang": "en",
- "group": "",
- "tags": ["plus", "social"],
- "url": "https://plus.google.com/+AndroidDevelopers/",
- "timestamp": null,
- "image": "images/plus.jpg",
- "title": "+Android Developers",
- "summary": "Sharing news, ideas, and techniques for success.",
- "keywords": ["+AndroidDevelopers"],
- "type": "Google+",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["plus", "social"],
- "url": "https://plus.google.com/+GooglePlay",
- "timestamp": null,
- "image": "https://lh4.googleusercontent.com/-IKezweZlcXI/AAAAAAAAAAI/AAAAAAABOvg/uK8Z0jekVE4/s120-c/photo.jpg",
- "title": "+Google Play",
- "summary": "News and discussion about Google Play, apps, and other content in Google+.",
- "keywords": ["+GooglePlay"],
- "type": "Google+",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["support", "android"],
- "url": "support.html",
- "timestamp": null,
- "image": null,
- "title": "Developer Support",
- "summary": "Links to community and support resources for Android developers.",
- "keywords": ["support"],
- "type": "Google+",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/devguides/collection/android/",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Mobile App Analytics SDK",
- "summary": "Measure everything about your app. Get started with the Google Analytics SDK for Android.",
- "keywords": ["analytics, user behavior"],
- "type": "sdk",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/edu/guidelines",
- "timestamp": null,
- "image": "https://developer.android.com/distribute/images/edu-guidelines.jpg",
- "title": "Education Guidelines",
- "summary": "These guidelines and requirements help you develop great apps for students, which offer compelling content and an intuitive user experience on Android tablets.",
- "keywords": [],
- "type": "",
- "titleFriendly": ""
- },
- {
- "lang": "zh-cn",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/edu/guidelines?hl=zh-Hans",
- "timestamp": null,
- "image": "https://developer.android.com/distribute/images/edu-guidelines.jpg",
- "title": "Education Guidelines",
- "summary": "These guidelines and requirements help you develop great apps for students, which offer compelling content and an intuitive user experience on Android tablets.",
- "keywords": [],
- "type": "",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/edu/faq",
- "timestamp": null,
- "image": "https://developer.android.com/distribute/images/gpfe-faq.jpg",
- "title": "Education FAQ",
- "summary": "Answers to common questions you might have about Google Play for Education.",
- "keywords": [],
- "type": "",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/edu/",
- "timestamp": null,
- "image": "https://developers.google.com/edu/images/home-android.png",
- "title": "Chrome Apps in Google Play for Education",
- "summary": "Find out more about Chrome apps in Google Play for Education.",
- "keywords": [],
- "type": "",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/edu/tablets/#tablets-family",
- "timestamp": null,
- "image": "https://www.google.com/edu/images/tablets/big-tablet.png",
- "title": "Google Play for Education Tablets",
- "summary": "Google Play for Education leverages a diverse set up tablets approved for the classroom which may help inform you how to build educational apps.",
- "keywords": [],
- "type": "",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_Deerhunter2014_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_Deerhunter2014_gpgs.png",
- "title": "Deer Hunter 2014 by Glu — Sign-in",
- "summary": "Glu finds that Google Play Game Services helps improve the user experience which leads to increased player happiness. They also find that Play Games Services signed in users tend to play longer and have a higher lifetime value.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/ConcreteSoftware_PBABowling_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/ConcreteSoftware_PBABowling_gpgs.png",
- "title": "PBA® Bowling Challenge by Concrete Software — Quests",
- "summary": "Concrete Software finds that Google Play Game Services' quests are a great way to create new content for users that leads to higher engagement.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Dragonplay_DragonplaySlots_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Dragonplay_DragonplaySlots_gpgs.png",
- "title": "Dragonplay Slots by Dragonplay — Sign-in",
- "summary": "Dragonplay finds that players who sign in with Google Play Games services tend to be high quality users who were highly engaged. They also tend to be easier to convert to paying users.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Gameloft_Asphalt8_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Gameloft_Asphalt8_gpgs.png",
- "title": "Asphalt 8 by Gameloft — Friends invitations",
- "summary": "Gameloft finds that Google Play Game Services users are more engaged than the average Android user and more likely to convert to paying players.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_EternityWarriors3_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Glu_EternityWarriors3_gpgs.png",
- "title": "Eternity Warriors 3 by Glu — Gifting",
- "summary": "Glu finds that Google Play Game Services gifting outperforms other implementations (including those with incentives) because of its seamless flow and consistent performance.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/HotheadGames_RivalsatWar_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/HotheadGames_RivalsatWar_gpgs.jpg",
- "title": "Rivals at War: Firefight by Hothead Games — Leaderboards",
- "summary": "Hothead Games is planning to include Google Play Game Services features in all their games going forwards after seeing that players that signed in with Play Games Services tend to show higher retention and a higher average revenue.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/TMSOFT_Compulsive_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/TMSOFT_Compulsive_gpgs.png",
- "title": "Compulsive by TMSOFT — Cross-platform",
- "summary": "TMSOFT finds that users who authenticate with Play Games Services on Android and iOS play Compulsive twice as much and purchase in-app products over four times as much.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Noodlecake_SuperStickmanGolf2_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Noodlecake_SuperStickmanGolf2_gpgs.png",
- "title": "Super Stickman Golf 2 by Noodlecake Studios — Multiplayer",
- "summary": "Noodlecake Studios finds that Google Play Game Services’ multiplayer feature helps reduce attrition.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/TinyRebel_DoctorWhoLegacy_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/TinyRebelGames_DrWhoLegacy_pgps.png",
- "title": "Dr. Doctor Who: Legacy by Tiny Rebel Games — Achievements",
- "summary": "After integrating achievements and cloud services from Google Play Game Services, Tiny Rebel Games saw a dramatic increase in daily revenues as a result of an increase in daily installs and an increase in the average revenue per install.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Senri_LeosFortune_gpgs.pdf",
- "timestamp": null,
- "image": "https://storage.googleapis.com/androiddevelopers/shareables/stories/Senri_LeosFortune_gpgs.png",
- "title": "Leo’s Fortune by 1337 & Senri — Saved games",
- "summary": "1337 + Senri finds that Google Play Game Services is easy to integrate and provides essential game functions like cloud saved games, achievements and leaderboards which have a very large adoption rate amongst players.",
- "keywords": ["stories"],
- "type": "Case Study Deck",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": ["play,protips"],
- "url": "shareables/distribute/secrets_play/v2/web/secrets_to_app_success_v2_en.pdf",
- "timestamp": 1447437450,
- "image": "images/distribute/secrets_v2_banner.jpg",
- "title": "The Secrets to App Success on Google Play",
- "summary": "Get the updated guide full of useful features, tips, and best practices that will help you grow a successful app or game business on Google Play.",
- "keywords": ["secrets, success, play, google"],
- "type": "Book",
- "category": "distribute"
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "shareables/auto/AndroidAuto-audio-apps.pdf",
- "timestamp": null,
- "image": "auto/images/assets/icons/media_app_playback.png",
- "title": "Android Auto Audio Apps UI Guidelines",
- "summary": "Guidelines for designing audio apps that work with Auto. ",
- "keywords": ["design", "Auto", "Automotive"],
- "type": "Design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "shareables/auto/AndroidAuto-messaging-apps.pdf",
- "timestamp": null,
- "image": "auto/images/assets/icons/messaging_app_notifications.png",
- "title": "Android Auto Messaging Apps UI Guidelines",
- "summary": "Guidelines for designing messaging apps that work with Auto. ",
- "keywords": ["design", "Auto", "Automotive"],
- "type": "Design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "shareables/auto/AndroidAuto-custom-colors.pdf",
- "timestamp": null,
- "image": "auto/images/ui/gearhead_generic_UI.png",
- "title": "Android Auto Color Customization UI Guidelines",
- "summary": "Guidelines for color-customizing apps that work with Auto. ",
- "keywords": ["design", "Auto", "Automotive"],
- "type": "Design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "http://www.youtube.com/watch?v=RRelFvc6Czo",
- "timestamp": null,
- "image": "https://i1.ytimg.com/vi/RRelFvc6Czo/maxresdefault.jpg",
- "title": "Android Developer Story: Smule",
- "summary": "The creators of AutoRap, Magic Piano, and Songify talk about their experiences launching on Android and the explosive global growth they've seen on Google Play.",
- "keywords": ["success", "users"],
- "type": "video",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/solutions/mobile-implementation-guide",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Mobile Analytics Implementation Guide",
- "summary": "Learn how you can implement additional Google Analytics features to better understand your users and their behavior.",
- "keywords": ["analytics", "Play", "users"],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/tagmanager/",
- "timestamp": null,
- "image": "https://www.google.com/tagmanager/images/gtm-hero-illustration-small.png",
- "title": "Google Tag Manager",
- "summary": "Google Tag Manager enables you to change configuration values in your mobile apps using the Google Tag Manager interface, without having to rebuild and resubmit application binaries to app marketplaces.",
- "keywords": ["analytics", "tagmanager"],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://analyticsacademy.withgoogle.com/course04",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Mobile App Analytics Fundamentals",
- "summary": "This self-paced online course on mobile app measurement shows you how Google Analytics data can help you make your app more discoverable and profitable.",
- "keywords": ["analytics"],
- "type": "Open Source Project",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://github.com/googleanalytics/google-analytics-plugin-for-unity",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Analytics Plugin for Unity",
- "summary": "If you're building games with Unity, you can now implement Analytics once and ship it on multiple platforms automatically.",
- "keywords": ["analytics", "unity"],
- "type": "Open Source Project",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/devguides/collection/android/v4/enhanced-ecommerce",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "In-App Purchases & Ecommerce",
- "summary": "If your app sells virtual or real goods, ecommerce tracking can help you understand what behaviors lead to purchases.",
- "keywords": ["analytics, ecommerce"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/1032415",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Goals",
- "summary": "Track important actions in your app as goals and measure performance against your objectives.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/2568874?ref_topic=6012392",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Active Users",
- "summary": "The active user report displays your 1-day, 7-day, 14-day and 30-day trailing active users next to each other, to help you analyze performance over time.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/devguides/collection/android/v4/events",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Events",
- "summary": "Events let you measure granular in-app activities and understand user journeys.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/devguides/collection/android/v4/customdimsmets",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Custom Dimensions",
- "summary": "Custom dimensions enable the association of metadata with hits, users, and sessions in Google Analytics.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/devguides/collection/android/v4/user-id",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "User ID",
- "summary": "The User ID feature enables Google Analytics to measure user activities that span across devices.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/devguides/collection/android/v4/display-features",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Demographic Reporting",
- "summary": "By enabling display features, you can see just how different user segments engage and monetize.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/3123906",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "User Segmentation",
- "summary": "Segments let you compare metrics for different subsets of users to identify trends and opportunities for your apps.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/devguides/collection/android/v4/campaigns",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Campaign Tracking",
- "summary": "Measuring campaigns in Google Analytics enables the attribution of campaigns and traffic sources to user activity within your app.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/2956981",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Google Play Integration",
- "summary": "By linking Analytics and the Play Developer Console, you can gain additional insights into the acquisition flow.",
- "keywords": ["play, analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/1033961",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "AdWords Integration",
- "summary": "Link Analytics and AdWords to see the entire picture of customer behavior, from ad click or impression through your site to conversion. ",
- "keywords": ["adwords, analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-url-builder",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Campaign URL builder for Google Play",
- "summary": "Easily create your URLs to track install campaigns.",
- "keywords": ["play, analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/tagmanager/answer/6003007",
- "timestamp": null,
- "image": "https://www.google.com/tagmanager/images/gtm-hero-illustration-small.png",
- "title": "In-App A/B Testing",
- "summary": "With content experiments in Google Tag Manager you can test multiple variations of your app to find which works best.",
- "keywords": ["tagmanager"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/2785577",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Behavior Flow",
- "summary": "The Behavior Flow report visualizes the path users traveled from one Screen or Event to the next. This report can help you discover what content keeps users engaged with your app.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/1151300",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Custom Reports",
- "summary": "Custom Reports let you create your own reports in your Google Analytics account.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/2611268",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Audience Lists & Remarketing",
- "summary": "Remarketing with Google Analytics lets you deliver targeted ads to users who've already been to your site or app. You can even base those ads on the behavior those users displayed during their sessions.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/admob/answer/3508177",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "AdMob Integration",
- "summary": "With Google Analytics in AdMob, you can view Google Analytics data for your linked apps from within your AdMob account.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/analytics/solutions/mobile-campaign-deep-link",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Deep-Linking",
- "summary": "Google Analytics gives you a full view of how returning users are interacting with your app, for a holistic view beyond the install.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/admob/answer/3508177",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "AdMob Integration",
- "summary": "With Google Analytics in AdMob, you can view Google Analytics data for your linked apps from within your AdMob account.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/analytics/answer/2568874",
- "timestamp": null,
- "image": "images/cards/analytics-mobile_2x.jpg",
- "title": "Active User Report",
- "summary": "Active user report displays your 1-day, 7-day, 14-day and 30-day trailing active users next to each other, to help you run benchmark analyses of their performance over time.",
- "keywords": ["analytics"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/animation/",
- "timestamp": null,
- "image": "images/cards/material-animation_2x.png",
- "title": "Animation",
- "summary": "",
- "keywords": [],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/style/",
- "timestamp": null,
- "image": "images/cards/material-style_2x.jpg",
- "title": "Style",
- "summary": "",
- "keywords": [],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/layout/",
- "timestamp": null,
- "image": "images/cards/material-layout_2x.png",
- "title": "Layout",
- "summary": "",
- "keywords": [],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/components/",
- "timestamp": null,
- "image": "images/cards/material-components_2x.jpg",
- "title": "Components",
- "summary": "",
- "keywords": [],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/patterns/",
- "timestamp": null,
- "image": "images/cards/material-patterns_2x.png",
- "title": "Patterns",
- "summary": "",
- "keywords": [],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/usability/",
- "timestamp": null,
- "image": "images/cards/material-usability_2x.png",
- "title": "Usability",
- "summary": "",
- "keywords": [],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/resources/color-palettes.html",
- "timestamp": null,
- "image": "images/cards/material-color-palette_2x.jpg",
- "title": "Color Palettes",
- "summary": "",
- "keywords": [],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/resources/layout-templates.html",
- "timestamp": null,
- "image": "images/cards/material-layout-template_2x.jpg",
- "title": "Layout Templates",
- "summary": "",
- "keywords": [],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/resources/sticker-sheets-icons.html",
- "timestamp": null,
- "image": "images/cards/material-sticker-sheet_2x.jpg",
- "title": "Sticker Sheets & Icons",
- "summary": "",
- "keywords": [],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.google.com/design/spec/resources/roboto-noto-fonts.html",
- "timestamp": null,
- "image": "images/cards/material-typography_2x.jpg",
- "title": "Typography: Roboto and Noto Sans fonts",
- "summary": "",
- "keywords": [],
- "type": "materialdesign",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "icons",
- "material",
- "iconography"
- ],
- "url": "https://www.google.com/design/icons/index.html",
- "timestamp": null,
- "image": "images/cards/card-material-icons-16x9_2x.jpg",
- "title": "Material icon collection",
- "summary": "",
- "keywords": ["icons"],
- "type": "material design",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/adwords/answer/6032059",
- "timestamp": null,
- "image": "distribute/images/advertising.jpg",
- "title": "Setting up Mobile App Install Ads",
- "summary": "With Mobile app installs campaigns on the Search and Display Networks, and TrueView for mobile app promotion on YouTube, you can create custom app install ads that run exclusively on phones and tablets.",
- "keywords": ["marketing", "admob"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/nearby/",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Create features based on proximity",
- "summary": "Build simple interactions between nearby devices and people.",
- "keywords": ["nearby", "engage"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.youtube.com/watch?v=hultDpBS22s",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Use Nearby Messages to collaborate",
- "summary": "Nearby Messages is perfect for setting up ad-hoc groups, collaborative sessions, or sharing resources with people in a co-located space.",
- "keywords": ["nearby", "engage"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/beacons",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Mark up the world using beacons",
- "summary": "Give your users better location and proximity experiences by providing a strong context signal for their devices in the form of Bluetooth low energy (BLE) beacons with Eddystone.",
- "keywords": ["nearby", "engage"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/adwords/answer/6167164",
- "timestamp": null,
- "image": "distribute/images/advertising.jpg",
- "title": "Best practices for Mobile App Engagement",
- "summary": "Learn how to market to your user base to drive re-engagement with your app. ",
- "keywords": ["marketing", "admob"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "marketing",
- "engagement",
- "adwords1"
- ],
- "url": "https://support.google.com/adwords/answer/6032073",
- "timestamp": null,
- "image": "https://www.gstatic.com/images/icons/material/product/2x/adwords_64dp.png",
- "title": "Setting up Mobile App Engagement Ads",
- "summary": "Mobile app engagement campaigns are a great choice for advertisers focused on connecting with people who already have their app.",
- "keywords": [
- "marketing",
- "engagement",
- "adwords"
- ],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "marketing",
- "engagement",
- "translate"
- ],
- "url": "https://support.google.com/l10n/answer/6359997",
- "timestamp": null,
- "image": "images/play_dev.jpg",
- "title": "Use the App Translation Service",
- "summary": "The App Translation Service is a human translation service. It makes it easy to order translations for app UI strings, Play Store text, in-app purchase products, and universal app campaign ads.",
- "keywords": [
- "marketing",
- "engagement",
- "translate"
- ],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [
- "marketing",
- "engagement"
- ],
- "url": "https://support.google.com/adwords/answer/6167162",
- "timestamp": null,
- "image": "https://www.gstatic.com/images/icons/material/product/2x/adwords_64dp.png",
- "title": "Best Practices for Mobile App Installs",
- "summary": "Getting your mobile app discovered can be challenging. Learn how to drive downloads of your app and grow a valuable user base.",
- "keywords": ["marketing", "adwords"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/admob/topic/2784623",
- "timestamp": null,
- "image": "distribute/images/advertising.jpg",
- "title": "Set up your AdMob account",
- "summary": "Setting up your AdMob account in the right way will help you get the most value, check out the Setup and Basics guide.",
- "keywords": ["marketing", "admob"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://analyticsacademy.withgoogle.com/mobile-app",
- "timestamp": null,
- "image": "distribute/images/advertising.jpg",
- "title": "Analytics Academy for Mobile Apps",
- "summary": "Learn how to use Google Analytics to make your app more discoverable and profitable.",
- "keywords": ["marketing", "analytics"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://www.udacity.com/courses/ud876-3",
- "timestamp": null,
- "image": "distribute/images/advertising.jpg",
- "title": "Learn how to show ads in your Android app",
- "summary": "Take this online course to learn how to use AdMob to display ads in your Android app.",
- "keywords": ["marketing", "analytics"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/mobile-ads-sdk/download",
- "timestamp": null,
- "image": "distribute/images/advertising.jpg",
- "title": "Admob Ads",
- "summary": "Use the Mobile Ads SDK to start showing AdMob ads in your apps.",
- "keywords": ["marketing", "adwords"],
- "type": "Guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/admob/",
- "timestamp": null,
- "image": "distribute/images/advertising.jpg",
- "title": "AdMob Help Center",
- "summary": "For setup assistance, general info, and fixes for specific problems check out the AdMob Help Center.",
- "keywords": ["admob"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://support.google.com/admob/answer/2753860",
- "timestamp": null,
- "image": "distribute/images/advertising.jpg",
- "title": "AdMob Policy Guidelines",
- "summary": "Learn about best practices for displaying AdMob ads in your apps to maximize revenue.",
- "keywords": ["admob"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/app-invites/",
- "timestamp": 1383243492000,
- "image": "images/cards/google-search_2x.png",
- "title": "Set up App Invites",
- "summary": "Bring new users to your apps with personal recommendations, incentives, and offers.",
- "keywords": ["invites", "appinvites", "engagement", "getusers"],
- "type": "guide",
- "titleFriendly": ""
- },
-
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/app-indexing/",
- "timestamp": 1383243492000,
- "image": "images/cards/google-search_2x.png",
- "title": "Set Up App Indexing",
- "summary": "Surface your app content in Google seaerch. Deep link direct to your apps.",
- "keywords": ["search", "appindexing", "engagement", "getusers"],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/app-indexing/webmasters/details",
- "timestamp": null,
- "image": "images/cards/google-search_2x.png",
- "title": "Index your app",
- "summary": "Index your app today by adding deep links and verifying its official web site to ensure it starts appearing in Google Search results. ",
- "keywords": ["appindexing","search","getusers"],
- "type": "distribute",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/identity/sign-in/android/people",
- "timestamp": 1383243492000,
- "image": "images/cards/google-sign-in_2x.png",
- "title": "Get user profile details",
- "summary": "After users sign-in with Google, you can access their age range, language, and public profile information.",
- "keywords": ["signin", "identity", "google"],
- "type": "guide",
- "titleFriendly": ""
- },
-
-
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/identity/sign-in/android/",
- "timestamp": "",
- "image": "images/cards/google-sign-in_2x.png",
- "title": "Google Sign-In",
- "summary": "Discover how you can enhance user experiences on your website or in your app using information provided by their Google identity.",
- "keywords": ["signin", "identity", "google"],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/+/features/play-installs",
- "timestamp": 1383243492000,
- "image": "images/cards/google-sign-in_2x.png",
- "title": "Over-the-air installs",
- "summary": "Follow this step-by-step guide to quickly add Google Sign-in and over-the-air app installs to your website.",
- "keywords": ["signin", "google", "installs"],
- "type": "guide",
- "titleFriendly": ""
- },
- {
- "lang": "en",
- "group": "",
- "tags": [],
- "url": "https://developers.google.com/+/features/analytics",
- "timestamp": 1383243492000,
- "image": 'images/google/gps-googleplus.png',
- "title": "Google+ Insights",
- "summary": "Measure impressions of the over-the-air install prompt, resulting installs, and success rate by day, week, and month.",
- "keywords": ["signin", "identity"],
- "type": "guide",
- "titleFriendly": ""
- },
-
- // Online courses
-
- {
- "title":"UX Design for Mobile Developers",
- "titleFriendly":"",
- "summary":"Learn how to design a 5-star app.",
- "url":"https://www.udacity.com/course/ud849",
- "group":"",
- "keywords": ["mobile","ux","design"],
- "tags": ["courses, start"],
- "image":"images/cards/courses/mobile_ux_course.jpg",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Developing Android Apps",
- "titleFriendly":"",
- "summary":"Learn Android and build an app!",
- "url":"https://www.udacity.com/course/ud853",
- "group":"",
- "keywords": ["android", "start","firstapp","sdk"],
- "tags": ["courses, start"],
- "image":"images/cards/courses/android_fundamentals_course.jpg",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Android Performance",
- "titleFriendly":"",
- "summary":"Optimize your apps for speed and usability.",
- "url":"https://www.udacity.com/course/ud825",
- "group":"",
- "keywords": ["android, performance","battery"],
- "tags": ["courses, performance"],
- "image":"images/cards/courses/android_performance_course.jpg",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Enroll in the Android Nanodegree",
- "titleFriendly":"",
- "summary":"Enroll in the Android Nanodegree to build the skills to work as an Android developer.",
- "url":"https://www.udacity.com/android",
- "group":"",
- "keywords": ["android, nanodegree"],
- "tags": ["courses"],
- "image":"images/cards/courses/android_nanodegree.png",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Advanced Android App Development",
- "titleFriendly":"",
- "summary":"Productionize and publish your apps.",
- "url":"https://www.udacity.com/course/ud855",
- "group":"",
- "keywords": ["android, experts"],
- "tags": ["courses, expert"],
- "image":"images/cards/courses/advanced_android_course.jpg",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Material Design for Android Developers",
- "titleFriendly":"",
- "summary":"Learn how to make your apps material.",
- "url":"https://www.udacity.com/course/ud862",
- "group":"",
- "keywords": ["android, design, pure, material"],
- "tags": ["courses, start, material"],
- "image":"images/cards/courses/android_design_course.jpg",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Android for Beginners",
- "titleFriendly":"",
- "summary":"Make your first Android app, even if you don't write code.",
- "url":"https://www.udacity.com/course/ud837",
- "group":"",
- "keywords": ["android, sdk, firstapp"],
- "tags": ["courses, start"],
- "image":"images/cards/courses/beginning_android_course.jpg",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Gradle for Android and Java",
- "titleFriendly":"",
- "summary":"Build better apps through automation",
- "url":"https://www.udacity.com/course/ud867",
- "group":"",
- "keywords": ["gradle","studio", "sdk"],
- "tags": ["courses, gradle, sdk"],
- "image":"images/cards/courses/gradle_course.jpg",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Add Location and Context to your app",
- "titleFriendly":"",
- "summary":"Make Your Android App Location Aware.",
- "url":"https://www.udacity.com/course/ud876-1",
- "group":"",
- "keywords": ["google services, context, location"],
- "tags": ["courses, google, location, context"],
- "image":"images/cards/courses/android_location_course.png",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Analytics and Tag Manager for Android",
- "titleFriendly":"",
- "summary":"Use Analytics and Tag Manager in Your Apps.",
- "url":"https://www.udacity.com/course/ud876-2",
- "group":"",
- "keywords": ["google services, analytics, tag manager"],
- "tags": ["courses, google, analytics"],
- "image":"images/cards/courses/android_analytics_course.png",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"AdMob for Android",
- "titleFriendly":"",
- "summary":"Monetize Your App by Displaying Ads.",
- "url":"https://www.udacity.com/course/ud876-3",
- "group":"",
- "keywords": ["monetize, google services, ads, admob"],
- "tags": ["courses, google, ads, admob"],
- "image":"images/cards/courses/admob_course.png",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Add Maps to your Android app",
- "titleFriendly":"",
- "summary":"Use maps, cameras, markers and more in your app.",
- "url":"https://www.udacity.com/course/ud876-4",
- "group":"",
- "keywords": ["google, maps, marker, camera"],
- "tags": ["courses, google, maps"],
- "image":"images/cards/courses/android_maps_course.png",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Add Sign-in to your Android app",
- "titleFriendly":"",
- "summary":"Build a Seamless Sign-In Experience.",
- "url":"https://www.udacity.com/course/ud876-5",
- "group":"",
- "keywords": ["google services, signin, authorization"],
- "tags": ["courses, google, auth"],
- "image":"images/cards/courses/android_identity_course.png",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Android Wear Development",
- "titleFriendly":"",
- "summary":"Extend your Apps to Android Smartwatches.",
- "url":"https://www.udacity.com/course/ud875A",
- "group":"",
- "keywords": ["wear, wearables, smartwatch"],
- "tags": ["courses, wear, wearable"],
- "image":"images/cards/courses/android_wear_course.jpg",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Android TV and Google Cast Development",
- "titleFriendly":"",
- "summary":"Extend your Apps to the Big Screen.",
- "url":"https://www.udacity.com/course/ud875B",
- "group":"",
- "keywords": ["cast, living room"],
- "tags": ["courses, cast, tv"],
- "image":"images/cards/courses/android_tv_cast_course.jpg",
- "lang":"en",
- "type":"online course"
- },
- {
- "title":"Android Auto Development",
- "titleFriendly":"",
- "summary":"Put your apps in the driver's seat.",
- "url":"https://www.udacity.com/course/ud875C",
- "group":"",
- "keywords": ["auto"],
- "tags": ["courses, auto"],
- "image":"images/cards/courses/android_auto_course.jpg",
- "lang":"en",
- "type":"online course"
- },
-
-
- // TODO remove this?
- {
- "title":"Android Wear Materials",
- "titleFriendly":"",
- "summary":"Drag and drop your way to beautifully designed Android Wear apps.",
- "url":"design/downloads/index.html#Wear",
- "group":"",
- "keywords": ["icons","stencils","color swatches"],
- "tags": ["icons","stencils","colorswatches"],
- "image":"images/cards/android-wear-materials_2x.jpg",
- "lang":"en",
- "type":"design"
- },
- {
- "title":"Watch Faces for Android Wear",
- "titleFriendly":"",
- "summary":"Watch faces let you customize the most prominent UI feature of Android wearables. The API is simple enough for rapid development and flexible enough to build something awesome.",
- "url":"https://www.youtube.com/watch?v=AK38PJZmIW8&list=PLWz5rJ2EKKc-kIrPiq098QH9dOle-fLef",
- "group":"",
- "keywords": ["wear", "wearable", "watch face"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/AK38PJZmIW8/maxresdefault.jpg",
- "lang":"en",
- "type":"video"
- },
- {
- "title":"Android Support Library",
- "titleFriendly":"",
- "summary":"These essential components help you build a great app that works on the huge variety of Android devices, faster.",
- "url":"https://www.youtube.com/watch?v=3PIc-DuEU2s&list=PLWz5rJ2EKKc9e0d55YHgJFHXNZbGHEXJX",
- "group":"",
- "keywords": ["support", "compatibility"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/3PIc-DuEU2s/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Consistent Design with the AppCompat Support Library",
- "titleFriendly":"",
- "summary":"Getting a great looking app doesn't have to be hard: AppCompat, part of the Android Support Library, gives you a consistent design baseline that works on all Android 2.1 or higher devices.",
- "url":"https://www.youtube.com/watch?v=5Be2mJzP-Uw&list=PLWz5rJ2EKKc9e0d55YHgJFHXNZbGHEXJX",
- "group":"",
- "keywords": ["support", "compatibility","design-code"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/5Be2mJzP-Uw/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Introducing Gradle",
- "titleFriendly":"",
- "summary":"Android Studio uses an entirely new and flexible Gradle-based build system. You will be able to create multiple build variants for a single project, manage library dependencies and always be sure that your application builds correctly across different environments.",
- "url":"https://www.youtube.com/watch?v=cD7NPxuuXYY&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ",
- "group":"",
- "keywords": ["tools", "studio","gradle"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/cD7NPxuuXYY/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Android Studio Layout Editor",
- "titleFriendly":"",
- "summary":"Android Studio includes a rich, visual layout editor that helps developers create better user interfaces. It eliminates the need to deploy the APK on a real device with each change, making iterations faster and helping eliminate common errors earlier in the development process.",
- "url":"https://www.youtube.com/watch?v=JLLnhwtDoHw&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ",
- "group":"",
- "keywords": ["tools", "studio","layout"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/JLLnhwtDoHw/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Debugging and testing in Android Studio",
- "titleFriendly":"",
- "summary":"Learn about new debugger features in Android Studio 1.2: value inlining, quick access to referring objects and a Java .class decompiler, just to name a few. See some new tools and views that let you monitor the CPU and memory performance of your app from within the IDE. ",
- "url":"https://www.youtube.com/watch?v=2I6fuD20qlY&list=PLWz5rJ2EKKc8I9gHTMh5yKkwRRGE8BjbQ",
- "group":"",
- "keywords": ["tools", "studio","debugging","profiling","performance"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/2I6fuD20qlY/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Scale with Google Cloud Platform",
- "titleFriendly":"",
- "summary":"Build, test, and deploy applications on Google's highly-scalable and reliable infrastructure for your web, mobile and backend solutions.",
- "url":"https://cloud.google.com/docs/",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/cards/cloud-platform_2x.png",
- "lang":"en",
- "type":"distribute"
- },
- {
- "title":"Opportunities & Programs",
- "titleFriendly":"",
- "summary":"Take advantage of the many ways you can distribute your app to consumers, students, and businesses through Google Play.",
- "url":"distribute/googleplay/index.html#opportunities",
- "group":"",
- "keywords": [],
- "tags": [],
- "image":"images/cards/program-edu_2x.jpg",
- "lang":"en",
- "type":"distribute"
- },
- {
- "title":"Join the Android for Work DevHub",
- "titleFriendly":"",
- "summary":"The Android for Work DevHub is a place to help developers keep up with Android in the workplace.",
- "url":"https://www.google.com/work/android/developers/applyDevHub/",
- "group":"",
- "keywords": ["work", "enterprise", "isv", "devhub"],
- "tags": [],
- "image":"images/work/cards/work-devhub_600px.png",
- "lang":"en",
- "type":"Community"
- },
- {
- "title":"Enterprise Mobility Managers",
- "titleFriendly":"",
- "summary":"Integrate Android for Work into your enterprise mobility management (EMM) solution.",
- "url":"https://developers.google.com/android/work/",
- "group":"",
- "keywords": ["work", "enterprise", "emm"],
- "tags": [],
- "image":"images/work/cards/work-cloud_600px.png",
- "lang":"en",
- "type":"guide"
- },
- {
- "title":"Learn More About Android for Work",
- "titleFriendly":"",
- "summary":"Android for Work makes your favorite phones and tablets the perfect business tools.",
- "url":"https://www.google.com/work/android/",
- "group":"",
- "keywords": ["work", "enterprise", "emm"],
- "tags": [],
- "image":"images/work/cards/work-profile_600px.png",
- "lang":"en",
- "type":"about"
- },
- {
- "title":"Build a Device Policy Controller",
- "titleFriendly":"",
- "summary":"Create and administer a managed profile on an employee's device.",
- "url":"https://developers.google.com/android/work/build-dpc",
- "group":"",
- "keywords": ["work", "enterprise", "emm"],
- "tags": [],
- "image":"images/work/cards/work-folder_600px.png",
- "lang":"en",
- "type":"guide"
- },
- {
- "title":"Android for Work for Developers",
- "titleFriendly":"",
- "summary":"Watch the videos in this playlist to understand more about Android for Work and get tips on developing enterprise apps.",
- "url":"https://www.youtube.com/watch?v=jQWB_-o1kz4&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX",
- "group":"",
- "keywords": ["work", "enterprise", "emm"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/jQWB_-o1kz4/maxresdefault.jpg",
- "lang":"en",
- "type":"youtube"
- },
- {
- "title":"App Configurations, Testing and Launchers",
- "titleFriendly":"",
- "summary":"With Android for Work you can make your apps remotely configurable. We also cover how to test your app in a managed environment.",
- "url":"https://www.youtube.com/watch?v=39NkpWkaH8M&index=2&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX",
- "group":"",
- "keywords": ["work", "enterprise", "emm"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/39NkpWkaH8M/maxresdefault.jpg",
- "lang":"en",
- "type":"youtube"
- },
- {
- "title":"Building an Enterprise Ready App",
- "titleFriendly":"",
- "summary":"A holistic view of Android for Work for developers.",
- "url":"https://www.youtube.com/watch?v=dH41OutAMNM&list=PLOU2XLYxmsIKAK2Bhv19H2THwF-22O5WX",
- "group":"",
- "keywords": ["work", "enterprise", "emm"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/dH41OutAMNM/maxresdefault.jpg",
- "lang":"en",
- "type":"youtube"
- },
- {
- "title":"Android for Work: Single Use Devices",
- "titleFriendly":"",
- "summary":"Single-purpose computers are everywhere, and Android can meet that need.",
- "url":"https://www.youtube.com/watch?v=j3QC6hcpy90",
- "group":"",
- "keywords": ["work", "enterprise", "emm"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/j3QC6hcpy90/maxresdefault.jpg",
- "lang":"en",
- "type":"youtube"
- },
- {
- "title":"Your Apps at Work",
- "titleFriendly":"",
- "summary":"In this Google I/O 2016 session we’ll give you details for making your app more attractive to businesses.",
- "url":"https://www.youtube.com/watch?v=Za0OQo8DRM4",
- "group":"",
- "keywords": ["work", "enterprise", "emm"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/Za0OQo8DRM4/maxresdefault.jpg",
- "lang":"en",
- "type":"youtube"
- },
- {
- "title":"Discover YouTube cards",
- "titleFriendly":"",
- "summary":"Find out more about YouTube cards, the options available, and how to use them to get the most from your YouTube content.",
- "url":"https://support.google.com/youtube/answer/6140493",
- "group":"",
- "keywords": ["youtube", "video", "users", "installs"],
- "tags": [],
- "image":"images/cards/card-youtube_2x.png",
- "lang":"en",
- "type":"distribute"
- },
- {
- "title":"What is YouTube account good standing?",
- "titleFriendly":"",
- "summary":"Learn what it means for an account to be in good standing from the YouTube Help Center.",
- "url":"https://support.google.com/youtube/answer/2797387",
- "group":"",
- "keywords": ["youtube", "video", "users", "installs"],
- "tags": [],
- "image":"images/cards/card-youtube_2x.png",
- "lang":"en",
- "type":"distribute"
- },
- {
- "title":"What’s New in Android N Developer Preview",
- "titleFriendly":"",
- "summary":"Learn all about the new features in the Android N Preview.",
- "url":"https://www.youtube.com/watch?v=CsulIu3UaUM",
- "group":"",
- "keywords": ["n preview"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/CsulIu3UaUM/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Developing for Android 6.0 (Marshmallow)",
- "titleFriendly":"",
- "summary":"This video covers how to get started with the preview, important APIs to test and how to provide feedback on the preview.",
- "url":"https://www.youtube.com/watch?v=yYU4DHLwoRk",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/yYU4DHLwoRk/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Google I/O 2015 - What's new in Android",
- "titleFriendly":"",
- "summary":"This session will highlight the most exciting new developer features of the Android platform.",
- "url":"https://www.youtube.com/watch?v=ndBdf1_oOGA",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/ndBdf1_oOGA/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Fingerprint and payments APIs",
- "titleFriendly":"",
- "summary":"New fingerprint and payments APIs are introduced in M, to enable enhanced UX and security for online purchasing, banking, and retail payments.",
- "url":"https://www.youtube.com/watch?v=VOn7VrTRlA4",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/VOn7VrTRlA4/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Introduction to Voice Interaction API",
- "titleFriendly":"",
- "summary":"This video covers how to use the Voice Interaction API to support system or custom voice actions.",
- "url":"https://www.youtube.com/watch?v=OW1A4XFRuyc",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/OW1A4XFRuyc/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Android Auto Backup for Apps",
- "titleFriendly":"",
- "summary":"Android Backup is the automatic, cloud-based backup and restore of users’ apps when they set up a new device.",
- "url":"https://www.youtube.com/watch?v=HXacyy0HSW0",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/HXacyy0HSW0/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"New APIs in M for Android for Work",
- "titleFriendly":"",
- "summary":"Android M extends Android for Work functionality with a new set of APIs for Enterprise Mobility Management providers to offer new features and policy controls to IT Departments.",
- "url":"https://www.youtube.com/watch?v=vcSj8ln-BlE",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/vcSj8ln-BlE/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Runtime Permissions in Android 6.0 Marshmallow",
- "titleFriendly":"",
- "summary":"Learn how to integrate runtime permissions into your Android app.",
- "url":"https://www.youtube.com/watch?v=C8lUdPVSzDk",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/C8lUdPVSzDk/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Introduction to Doze",
- "titleFriendly":"",
- "summary":"An overview of Doze and how to make sure that your app behaves as expected both in and out of Doze mode. ",
- "url":"https://youtu.be/N72ksDKrX6c",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/N72ksDKrX6c/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"The Nexus 5X, Nexus 6P and Android Marshmallow",
- "titleFriendly":"",
- "summary":"The new Nexus 5X and Nexus 6P along with some of the most significant developer features in the latest Android release,.",
- "url":"https://youtu.be/U9tw5ypqEN0",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/U9tw5ypqEN0/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Asking For Permission Fine",
- "titleFriendly":"",
- "summary":"Picking the right way and time to ask for a permission is critical to it being granted. ",
- "url":"https://youtu.be/iZqDdvhTZj0",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/iZqDdvhTZj0/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Data Binding Library",
- "titleFriendly":"",
- "summary":"Data Binding Library is a way to write declarative layouts and minimize the glue code necessary to bind your application logic and layouts. ",
- "url":"https://youtu.be/5sCQjeGoE7M",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/5sCQjeGoE7M/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"App Links",
- "titleFriendly":"",
- "summary":"App Links is a new feature of Android Marshmallow that brings a faster way of opening website links for domains that you own.",
- "url":"https://youtu.be/LQoohRwojmw",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/LQoohRwojmw/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "title":"Android M Permissions",
- "titleFriendly":"",
- "summary":"An introduction to Android M runtime permissions in Android M from Google I/O 2015. ",
- "url":"https://www.youtube.com/watch?v=f17qe9vZ8RM",
- "group":"",
- "keywords": ["Marshmallow"],
- "tags": [],
- "image":"https://i1.ytimg.com/vi/f17qe9vZ8RM/maxresdefault.jpg",
- "lang":"en",
- "type":"Video"
- },
- {
- "lang": "ja",
- "title": "Gaming Everywhere",
- "titleFriendly": "",
- "summary": "東京ゲームショウ 2014 の基調講演より。",
- "url": "https://www.youtube.com/watch?v=xelYnWcYkuE",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://img.youtube.com/vi/xelYnWcYkuE/hqdefault.jpg",
- "type": "youtube"
- },
- {
- "lang": "ja",
- "title": "Playtime Tokyo",
- "titleFriendly": "",
- "summary": "アプリビジネスのノウハウを各担当者が講演しました。",
- "url": "https://www.youtube.com/playlist?list=PLCOC_kP3nqGIHEgwm9mybvA04Vn4Cg9nn",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://img.youtube.com/vi/lJdjY3z6-LY/hqdefault.jpg",
- "type": "youtube"
- },
- {
- "lang": "ja",
- "title": "Android Wear 関連の動画に日本語字幕が付きました",
- "titleFriendly": "",
- "summary": "",
- "url": "https://googledevjp.blogspot.jp/2014/12/android-wear.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://i1.ytimg.com/vi/4JcDYkgqksY/maxresdefault.jpg",
- "type": "blog"
- },
- {
- "lang": "ja",
- "title": "Android Studio 1.0 をリリースしました",
- "titleFriendly": "",
- "summary": "",
- "url": "https://googledevjp.blogspot.jp/2014/12/android-studio-10.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://3.bp.blogspot.com/-1hV3sD1At74/VIaQSWBasUI/AAAAAAAABAU/9vYLJMsmMuQ/s1600/studio-logo.png",
- "type": "blog"
- },
- {
- "lang": "ja",
- "title": "Google Play 開発者サービス 6.5 のご紹介",
- "titleFriendly": "",
- "summary": "",
- "url": "https://googledevjp.blogspot.jp/2014/12/google-play-65.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://1.bp.blogspot.com/-4BNREC0Jojo/VGo7ahW35wI/AAAAAAAABAc/9thZl94F6fY/s1600/GMS%2B-%2BRelease%2BBlog%2BNacho%2B-%2BMap%2BToolbar.png",
- "type": "blog"
- },
- {
- "lang": "ja",
- "title": "Alpha and Beta Testing",
- "titleFriendly": "",
- "summary": "アプリのローンチにまつわるリスクを最小限にするために必須のツールです。[英語コンテンツ]",
- "url": "intl/ja/distribute/googleplay/developer-console.html#alpha-beta",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "images/gp-dc-ab.png",
- "type": "distribute"
- },
- {
- "lang": "ja",
- "title": "Finding Success on Google Play",
- "titleFriendly": "",
- "summary": "Google Play での成功の秘訣がこの一冊に。[英語コンテンツ]",
- "url": "intl/ja/distribute/googleplay/guide.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "distribute/images/play_dev_guide_b.jpg",
- "type": "distribute"
- },
- {
- "lang": "ja",
- "title": "Core App Quality",
- "titleFriendly": "",
- "summary": "",
- "url": "intl/ja/distribute/essentials/quality/core.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "images/gp-core-quality.png",
- "type": "distribute"
- },
- {
- "lang": "ja",
- "title": "Google Play アプリ ポリシー センター",
- "titleFriendly": "",
- "summary": "",
- "url": "https://support.google.com/googleplay/android-developer/answer/4430948?hl=ja",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389356_en_v0",
- "type": "distribute"
- },
- {
- "lang": "ja",
- "title": "Developer Support",
- "titleFriendly": "",
- "summary": "",
- "url": "intl/ja/support.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "",
- "type": "distribute"
- },
- {
- "lang": "ja",
- "title": "Wear App Quality",
- "titleFriendly": "",
- "summary": "いよいよウェアラブルの時代が到来。[英語コンテンツ]",
- "url": "intl/ja/distribute/essentials/quality/wear.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "distribute/images/gp-wear-quality.png",
- "type": "distribute"
- },
- {
- "lang": "ja",
- "title": "Google Cloud Platform が支える、新感覚リアルタイム RPG ユニゾンリーグ - 株式会社エイチームの GCP 導入事例",
- "titleFriendly": "",
- "summary": "スケーラブルなバックエンドを実現する Google Cloud Platform の最新導入事例。",
- "url": "https://googleforwork-japan.blogspot.jp/2014/12/gcp-google-cloud-platform-rpg-gcp.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://3.bp.blogspot.com/-xp7KoPkbne4/VI_PfoFil3I/AAAAAAAAA3U/-k1UZ0zjCBc/s1600/unison-league.jpeg",
- "type": "distribute"
- },
- {
- "lang": "ja",
- "title": "Monetize with Ads",
- "titleFriendly": "",
- "summary": "アプリ内広告成功のコツがここに。[英語コンテンツ]",
- "url": "intl/ja/distribute/monetize/ads.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "distribute/images/advertising.jpg",
- "type": "distribute"
- },
- {
- "lang": "ko",
- "title": "구글 플레이 2015년 비전",
- "titleFriendly": "",
- "summary": "G-Star 구글 컨퍼런스",
- "url": "https://www.youtube.com/watch?v=7X9Ue0Nfdh4&index=2&list=PL_WJkTbDHdBksDBRoqfeyLchEQqBAOlNl",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://img.youtube.com/vi/7X9Ue0Nfdh4/hqdefault.jpg",
- "type": "youtube"
- },
- {
- "lang": "ko",
- "title": "구글 플레이 게임",
- "titleFriendly": "",
- "summary": "게임 프로필, 퀘스트, 세이브드 게임 등의 신기능 소개",
- "url": "https://www.youtube.com/watch?v=83FpwuschCQ",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://img.youtube.com/vi/83FpwuschCQ/hqdefault.jpg",
- "type": "youtube"
- },
- {
- "lang": "ko",
- "title": "안드로이드 5.0 롤리팝을 맞이하는 개발자를 위한 안내서",
- "titleFriendly": "",
- "summary": "",
- "url": "https://googledevkr.blogspot.com/2014/11/android50guidefordevelopers.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://lh5.googleusercontent.com/0Gx4Ob_WvIgNOMv3hVMuUm4O7KuSWyxCEFIvy39_6fgXh2q2azqjZf3bpZoEk-LMW-K8GwYMfyYfMUAwp38hhPQ6WFNnddhN2E2_GF3-XBQI_qjhISviz10h_mGgDWsZKA",
- "type": "blog"
- },
- {
- "lang": "ko",
- "title": "안드로이드 앱을 위한 머티리얼 디자인 체크 리스트",
- "titleFriendly": "",
- "summary": "",
- "url": "https://googledevkr.blogspot.com/2014/10/material-design-on-android-checklist.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://lh4.googleusercontent.com/JKoxeDdmsj6gYHV8rmp96U1jHj7FKeMzGBaaFu35kXp5EpJR9Ei9MQFAYghjwJoycdgydw-FZTuFNY8pDx63MWhy37rKC96ajoDXEMzvo9W0sj5yC2-uSYJdhpazVOP2cA",
- "type": "blog"
- },
- {
- "lang": "ko",
- "title": "App Compat 라이브러리",
- "titleFriendly": "",
- "summary": "",
- "url": "https://googledevkr.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://2.bp.blogspot.com/-7fF9ayZ6PgI/U9iFpk5FNEI/AAAAAAAAAs0/4P4SCvdB_4M/s640/image00.png",
- "type": "blog"
- },
- {
- "lang": "ko",
- "title": "Alpha and Beta Testing",
- "titleFriendly": "",
- "summary": "출시 전에 완벽한 사전 테스트 [영문]",
- "url": "intl/ko/distribute/googleplay/developer-console.html#alpha-beta",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "images/gp-dc-ab.png",
- "type": "distribute"
- },
- {
- "lang": "ko",
- "title": "Finding Success on Google Play",
- "titleFriendly": "",
- "summary": "구글 플레이에서 성공하는 비결 [영문]",
- "url": "intl/ko/distribute/googleplay/guide.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "distribute/images/play_dev_guide_b.jpg",
- "type": "distribute"
- },
- {
- "lang": "ko",
- "title": "Core App Quality",
- "titleFriendly": "",
- "summary": "고품질 안드로이드 앱 개발 가이드 [영문]",
- "url": "intl/ko/distribute/essentials/quality/core.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "images/gp-core-quality.png",
- "type": "distribute"
- },
- {
- "lang": "ko",
- "title": "Policy Guidelines and Practices",
- "titleFriendly": "",
- "summary": "숙지해야할 중요한 정책 [영문]",
- "url": "https://support.google.com/googleplay/android-developer/answer/4430948?hl=ko",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389356_en_v0",
- "type": "distribute"
- },
- {
- "lang": "ko",
- "title": "Developer Support",
- "titleFriendly": "",
- "summary": "개발자 지원 센터 활용 [영문]",
- "url": "intl/ko/support.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://lh3.googleusercontent.com/-mGTYed3Uh-E/AAAAAAAAAAI/AAAAAAAAF58/qNYbk4mMhI0/s120-c/photo.jpg",
- "type": "distribute"
- },
- {
- "lang": "ko",
- "title": "Wear App Quality",
- "titleFriendly": "",
- "summary": "웨어러블 앱 개발 가이드 [영문]",
- "url": "intl/ko/distribute/essentials/quality/wear.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "distribute/images/gp-wear-quality.png",
- "type": "distribute"
- },
- {
- "lang": "ko",
- "title": "Android TV 어플리케이션 개발",
- "titleFriendly": "",
- "summary": "앱과 게임을 거실에서 가족과 함께 [영문]",
- "url": "intl/ko/tv/index.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "design/tv/images/atv-home.jpg",
- "type": "distribute"
- },
- {
- "lang": "ko",
- "title": "구글 플레이 게임 서비스",
- "titleFriendly": "",
- "summary": "다양한 구글 플레이 게임 서비스 기능 알아보기 [영문]",
- "url": "intl/ko/google/play-services/games.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "https://developers.google.com/games/services/images/gamescreen3.jpg",
- "type": "distribute"
- },
- {
- "lang": "ko",
- "title": "Monetize with Ads",
- "titleFriendly": "",
- "summary": "광고로 수익 창출하기 [영문]",
- "url": "intl/ko/distribute/monetize/ads.html",
- "group": "",
- "keywords": [],
- "tags": [],
- "image": "distribute/images/advertising.jpg",
- "type": "distribute"
- },
- {
- "url":"https://www.youtube.com/watch?v=QDM52bblwlg",
- "image": "images/distribute/hero-family-discovery.jpg",
- "title": "Introducing the new family discovery experience on Google Play",
- "summary": "Help families create little moments on Google Play. Opt-in your apps now.",
- "tags":["families","googleplay"],
- "type":"youtube"
- },
- {
- "url":"https://www.youtube.com/watch?v=wcjqBSei3a0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS",
- "image": "https://i1.ytimg.com/vi/wcjqBSei3a0/maxresdefault.jpg",
- "title": "Developers connecting the world through Google Play",
- "summary": "The mobile ecosystem is empowering developers to make good on the dream of connecting the world through technology to improve people's lives.",
- "tags":["io15","googleplay"],
- "keywords":["Google I/O 2015","io"],
- "type":"youtube"
- },
- {
- "url":"https://www.youtube.com/watch?v=B6ydLpkhq04&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS",
- "image": "https://i1.ytimg.com/vi/B6ydLpkhq04/maxresdefault.jpg",
- "title": "Store Listing Experiments for Google Play",
- "summary": "Learn how to use Google Play’s new store listing optimization feature to get more installs of your app, and how to test different graphics and text to find out which options perform the best. ",
- "tags":["io15","googleplay","store listing"],
- "tags":["google i/o","google play","store listing"],
- "type":"youtube"
- },
- {
- "url":"https://www.youtube.com/watch?v=jyO3-rF4Mu0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS",
- "image": "https://i1.ytimg.com/vi/jyO3-rF4Mu0/maxresdefault.jpg",
- "title": "Growing games with Google",
- "summary": "The games industry has never been more promising and full of opportunities. This talk covers how Google is helping developers across a broad range of existing and emerging platforms.",
- "tags":["io15","android", "googleplay","games"],
- "keywords":["Google I/O","google play","games"],
- "type":"youtube"
- },
- {
- "url":"https://www.youtube.com/watch?v=yJisuP94lHU",
- "image": "images/distribute/hero-playtime-opener.jpg",
- "title": "Playtime 2015: Innovation happens everywhere",
- "type":"Video",
- "tags":["googleplay"],
- "summary": "Watch the opening video from Google Play's annual event series, Playtime, which celebrates inspirational developers who are changing the world around them.",
- },
-{
- "url":"https://www.youtube.com/watch?v=JrR6o5tYMWQ",
- "image": "images/distribute/hero-acquisition-devbyte.jpg",
- "title": "User acquisition and tracking on Google Play",
- "type" : "Video",
- "tags" : "users,googleplay,googleio",
- "summary": "Learn how to get new users, using Universal app campaigns directly within the Google Play Developer Console to increase your installs from ads, and find out how your acquisition channels perform.",
- },
-]);
-
-var CAROUSEL_OVERRIDE = {
- "distribute/googleplay/guide.html": {
- "image": "images/distribute/hero-secrets-to-app-success.jpg",
- "title": "The Secrets to App Success on Google Play",
- "summary": "Get the updated guide full of useful features, tips, and best practices that will help you grow a successful app or game business on Google Play.",
- },
- "about/versions/lollipop.html": {
- "image": "images/home/hero-lollipop_2x.png",
- "heroColor": "#263238",
- "heroInvert": true,
- "title": "Android 5.0 Lollipop",
- "summary": "The Android 5.0 update adds a variety of new features for your apps, such as notifications on the lock screen, an all-new camera API, OpenGL ES 3.1, the new naterial design interface, and much more.",
- },
- "http://www.youtube.com/watch?v=Pms0pcyPbAM": {
- "url":"https://www.youtube.com/watch?v=Pms0pcyPbAM&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c]",
- "image": "images/distribute/hero-carousel-giftedmom.jpg",
- "title": "Gifted Mom reaches more mothers across Africa with Android",
- "type":"youtube",
- "summary": "Gifted Mom is an app developed in Cameroon which provides users with critical information about pregnancy, breastfeeding and child vaccinations. Hear the creators explain how they built their business on Google Play.",
- },
- "http://www.youtube.com/watch?v=9m6MoBM-sFI": {
- "url":"https://www.youtube.com/watch?v=9m6MoBM-sFI&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c&index=3",
- "image": "images/distribute/hero-carousel-sgn.jpg",
- "title": "SGN increases installs with Store Listing Experiments",
- "type" : "youtube",
- "summary": "Watch mobile game developer SGN talk about how using Store Listing Experiments to test multiple variants across their portfolio of games helped improve their ROI, conversion rates and gamer retention.",
- },
- "http://www.youtube.com/watch?v=e7t3svG9PTk": {
- "url":"https://www.youtube.com/watch?v=e7t3svG9PTk&index=2&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c",
- "image": "images/distribute/hero-carousel-djit.jpg",
- "title": "DJiT builds higher quality experiences on Android",
- "type" : "youtube",
- "summary": "Learn how Music app developer DJiT create higher quality apps with improved latency on Android Marshmallow, as well as other Android and Google Play features.",
- },
- "http://www.youtube.com/watch?v=J3IvOfvH1ys": {
- "url":"https://www.youtube.com/watch?v=J3IvOfvH1ys&list=PLWz5rJ2EKKc9ofd2f-_-xmUi07wIGZa1c&index=1",
- "image": "images/distribute/hero-carousel-wego.jpg",
- "title": "Wego increases user retention with material design",
- "type" : "youtube",
- "summary": "Hear how online travel marketplace Wego, increased monthly user retention by 300% and reduced uninstall rates by up to 25% with material design.",
- },
- "https://www.youtube.com/watch?v=QDM52bblwlg": {
- "url":"distribute/googleplay/families/about.html",
- "image": "images/distribute/hero-family-discovery.jpg",
- "title": "Designed for families",
- "summary": "Introducing the new family discovery experience in Google Play. Your apps can benefit from enhanced discoverability and maintain their existing categories, rankings, and reviews elsewhere in the store. Opt-in your apps today.",
- "type":"distribute",
- },
- "https://www.youtube.com/watch?v=wcjqBSei3a0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS": {
- "url":"https://www.youtube.com/watch?v=wcjqBSei3a0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS",
- "image": "images/distribute/hero-IO15-google-play.jpg",
- "title": "Connecting the world through Google Play",
- "tags":["io15"],
- "summary": "In this this Google I/O talk, hear how the mobile ecosystem is empowering developers to connect the world through technology and improve people's lives.",
- },
- "https://www.youtube.com/watch?v=B6ydLpkhq04&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS": {
- "image": "images/distribute/hero-store-listing-experience.jpg",
- "title": "Using Google Play store listing experiments",
- "tags":["io15"],
- "summary": "Learn how to use Google Play store listing experiments to get more installs in this Google I/O talk. Test different graphics and text to find out which options perform the best. ",
- },
- "https://www.youtube.com/watch?v=jyO3-rF4Mu0&list=PLOU2XLYxmsIKLNUPiFCWVtcO7mZRZ9MmS": {
- "image": "images/distribute/hero-IO15-growing-games.jpg",
- "title": "Growing games with Google",
- "tags":["io15"],
- "summary": "The games industry has never been more promising and full of opportunities. This talk from Google I/O 2015 covers how Google is helping developers across a broad range of existing and emerging platforms.",
- }
-};
diff --git a/docs/html/jd_extras_en.js b/docs/html/jd_extras_en.js
index dfc30c3..f3469b4 100644
--- a/docs/html/jd_extras_en.js
+++ b/docs/html/jd_extras_en.js
@@ -156,6 +156,16 @@
"lang":"en"
},
{
+ "title":"GPU Debugger",
+ "summary":"Use the GPU Debugger to analyze and debug your OpenGL ES apps. Inspect the GPU state and understand what caused a specific rendering outcome.",
+ "url":"studio/debug/am-gpu-debugger.html",
+ "image":"images/tools/thumbnails/am-gpu-debugger_2-2_2x.png",
+ "type":"tools",
+ "keywords": ["android","performance","profiling","tools","monitor","debug"],
+ "tags": ["android","performance","profiling","tools","monitor","debug"],
+ "lang":"en"
+ },
+ {
"title":"HPROF Viewer and Analyzer",
"summary":"Use the Memory Monitor to dump the Java heap to an HPROF file. The HPROF Viewer displays classes, instances of each class, and a reference tree to help you track memory usage and find memory leaks.",
"url":"studio/profile/am-hprof.html",
@@ -5453,6 +5463,12 @@
"studio/profile/am-sysinfo.html"
]
},
+"tools/help/gpu": {
+ "title": "",
+ "resources": [
+ "studio/debug/am-gpu-debugger.html"
+ ]
+ },
"tools/help/shot": {
"title": "",
"resources": [
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes.html b/docs/html/sdk/support_api_diff/24.2.0/changes.html
new file mode 100644
index 0000000..cdf8f36
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<!-- on Tue Aug 16 14:03:10 EDT 2016 -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Support Library API Differences Report
+</TITLE>
+<link href="../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</head>
+<frameset cols="242,**" framespacing="1" frameborder="yes" border="1" bordercolor="#e9e9e9">
+<frameset rows="174,**" framespacing="1" frameborder="yes" border="1" bordercolor="#e9e9e9">
+ <frame src="changes/jdiff_topleftframe.html" scrolling="no" name="topleftframe" frameborder="1">
+ <frame src="changes/alldiffs_index_all.html" scrolling="auto" name="bottomleftframe" frameborder="1">
+ </frameset>
+ <frame src="changes/changes-summary.html" scrolling="auto" name="rightframe" frameborder="1">
+</frameset>
+<noframes>
+<h2>
+Frame Alert
+</h2>
+
+<p>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<br>
+Link to <a href="changes/changes-summary.html" target="_top">Non-frame version.</A>
+</noframes>
+</html>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_additions.html b/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_additions.html
new file mode 100644
index 0000000..cb62aa8
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_additions.html
@@ -0,0 +1,947 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+ <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<b>Additions</b>
+ <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<!-- Class AccessibilityManagerCompat.AccessibilityStateChangeListener -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v4.view.accessibility.html#AccessibilityManagerCompat.AccessibilityStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManagerCompat.AccessibilityStateChangeListener</i></b></A><br>
+<!-- Class AccessibilityManagerCompat.TouchExplorationStateChangeListener -->
+<A HREF="pkg_android.support.v4.view.accessibility.html#AccessibilityManagerCompat.TouchExplorationStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManagerCompat.TouchExplorationStateChangeListener</i></b></A><br>
+<!-- Field ACTION_ARGUMENT_COLUMN_INT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_COLUMN_INT" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_COLUMN_INT</A>
+</nobr><br>
+<!-- Field ACTION_ARGUMENT_PROGRESS_VALUE -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_PROGRESS_VALUE" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_PROGRESS_VALUE</A>
+</nobr><br>
+<!-- Field ACTION_ARGUMENT_ROW_INT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_ROW_INT" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_ROW_INT</A>
+</nobr><br>
+<!-- Field ACTION_CONTEXT_CLICK -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CONTEXT_CLICK" class="hiddenlink" target="rightframe">ACTION_CONTEXT_CLICK</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_DOWN -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_DOWN" class="hiddenlink" target="rightframe">ACTION_SCROLL_DOWN</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_LEFT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_LEFT" class="hiddenlink" target="rightframe">ACTION_SCROLL_LEFT</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_RIGHT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_RIGHT" class="hiddenlink" target="rightframe">ACTION_SCROLL_RIGHT</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_TO_POSITION -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_TO_POSITION" class="hiddenlink" target="rightframe">ACTION_SCROLL_TO_POSITION</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_UP -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_UP" class="hiddenlink" target="rightframe">ACTION_SCROLL_UP</A>
+</nobr><br>
+<!-- Field ACTION_SET_PROGRESS -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SET_PROGRESS" class="hiddenlink" target="rightframe">ACTION_SET_PROGRESS</A>
+</nobr><br>
+<!-- Field ACTION_SHOW_ON_SCREEN -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SHOW_ON_SCREEN" class="hiddenlink" target="rightframe">ACTION_SHOW_ON_SCREEN</A>
+</nobr><br>
+<!-- Class ActionBarActivity -->
+<A HREF="pkg_android.support.v7.app.html#ActionBarActivity" class="hiddenlink" target="rightframe"><b>ActionBarActivity</b></A><br>
+<!-- Class ActionMenuView -->
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView" class="hiddenlink" target="rightframe"><b>ActionMenuView</b></A><br>
+<!-- Class ActionMenuView.LayoutParams -->
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView.LayoutParams" class="hiddenlink" target="rightframe"><b>ActionMenuView.LayoutParams</b></A><br>
+<!-- Class ActionMenuView.OnMenuItemClickListener -->
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>ActionMenuView.OnMenuItemClickListener</i></b></A><br>
+<!-- Method addTouchExplorationStateChangeListener -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.addTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" class="hiddenlink" target="rightframe"><b>addTouchExplorationStateChangeListener</b>
+(<code>AccessibilityManager, TouchExplorationStateChangeListener</code>)</A></nobr><br>
+<!-- Package android.support.transition -->
+<A HREF="changes-summary.html#android.support.transition" class="hiddenlink" target="rightframe"><b>android.support.transition</b></A><br>
+<!-- Package android.support.v4.text.util -->
+<A HREF="changes-summary.html#android.support.v4.text.util" class="hiddenlink" target="rightframe"><b>android.support.v4.text.util</b></A><br>
+<!-- Class AppCompatActivity -->
+<A HREF="pkg_android.support.v7.app.html#AppCompatActivity" class="hiddenlink" target="rightframe"><b>AppCompatActivity</b></A><br>
+<!-- Class AppCompatAutoCompleteTextView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatAutoCompleteTextView" class="hiddenlink" target="rightframe"><b>AppCompatAutoCompleteTextView</b></A><br>
+<!-- Class AppCompatButton -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatButton" class="hiddenlink" target="rightframe"><b>AppCompatButton</b></A><br>
+<!-- Class AppCompatCheckBox -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatCheckBox" class="hiddenlink" target="rightframe"><b>AppCompatCheckBox</b></A><br>
+<!-- Class AppCompatCheckedTextView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatCheckedTextView" class="hiddenlink" target="rightframe"><b>AppCompatCheckedTextView</b></A><br>
+<!-- Class AppCompatDialogFragment -->
+<A HREF="pkg_android.support.v7.app.html#AppCompatDialogFragment" class="hiddenlink" target="rightframe"><b>AppCompatDialogFragment</b></A><br>
+<!-- Class AppCompatEditText -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatEditText" class="hiddenlink" target="rightframe"><b>AppCompatEditText</b></A><br>
+<!-- Class AppCompatImageButton -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatImageButton" class="hiddenlink" target="rightframe"><b>AppCompatImageButton</b></A><br>
+<!-- Class AppCompatImageView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatImageView" class="hiddenlink" target="rightframe"><b>AppCompatImageView</b></A><br>
+<!-- Class AppCompatMultiAutoCompleteTextView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatMultiAutoCompleteTextView" class="hiddenlink" target="rightframe"><b>AppCompatMultiAutoCompleteTextView</b></A><br>
+<!-- Class AppCompatRadioButton -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatRadioButton" class="hiddenlink" target="rightframe"><b>AppCompatRadioButton</b></A><br>
+<!-- Class AppCompatRatingBar -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatRatingBar" class="hiddenlink" target="rightframe"><b>AppCompatRatingBar</b></A><br>
+<!-- Class AppCompatSeekBar -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatSeekBar" class="hiddenlink" target="rightframe"><b>AppCompatSeekBar</b></A><br>
+<!-- Class AppCompatSpinner -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatSpinner" class="hiddenlink" target="rightframe"><b>AppCompatSpinner</b></A><br>
+<!-- Class AppCompatTextView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatTextView" class="hiddenlink" target="rightframe"><b>AppCompatTextView</b></A><br>
+<!-- Class BatchingListUpdateCallback -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.util.html#BatchingListUpdateCallback" class="hiddenlink" target="rightframe"><b>BatchingListUpdateCallback</b></A><br>
+<!-- Field BT_FOLDER_TYPE_ALBUMS -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ALBUMS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_ALBUMS</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_ARTISTS -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ARTISTS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_ARTISTS</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_GENRES -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_GENRES" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_GENRES</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_MIXED -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_MIXED" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_MIXED</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_PLAYLISTS -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_PLAYLISTS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_PLAYLISTS</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_TITLES -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_TITLES" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_TITLES</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_YEARS -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_YEARS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_YEARS</A>
+</nobr><br>
+<!-- Method buildMediaButtonPendingIntent -->
+<i>buildMediaButtonPendingIntent</i><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaButtonReceiver.html#android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, android.content.ComponentName, long)" class="hiddenlink" target="rightframe">type <b>
+(<code>Context, ComponentName, long</code>)</b> in android.support.v4.media.session.MediaButtonReceiver
+</A></nobr><br>
+<!-- Method buildMediaButtonPendingIntent -->
+ <nobr><A HREF="android.support.v4.media.session.MediaButtonReceiver.html#android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, long)" class="hiddenlink" target="rightframe">type <b>
+(<code>Context, long</code>)</b> in android.support.v4.media.session.MediaButtonReceiver
+</A></nobr><br>
+<!-- Class CardView -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#CardView" class="hiddenlink" target="rightframe"><b>CardView</b></A><br>
+<!-- Method clearColorFilter -->
+<nobr><A HREF="android.support.v4.graphics.drawable.DrawableCompat.html#android.support.v4.graphics.drawable.DrawableCompat.clearColorFilter_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>clearColorFilter</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method clearOnTabSelectedListeners -->
+<nobr><A HREF="android.support.design.widget.TabLayout.html#android.support.design.widget.TabLayout.clearOnTabSelectedListeners_added()" class="hiddenlink" target="rightframe"><b>clearOnTabSelectedListeners</b>
+()</A></nobr><br>
+<!-- Method computeScrollVectorForPosition -->
+<nobr><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html#android.support.v7.widget.StaggeredGridLayoutManager.computeScrollVectorForPosition_added(int)" class="hiddenlink" target="rightframe"><b>computeScrollVectorForPosition</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class DiffUtil -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.util.html#DiffUtil" class="hiddenlink" target="rightframe"><b>DiffUtil</b></A><br>
+<!-- Class DiffUtil.Callback -->
+<A HREF="pkg_android.support.v7.util.html#DiffUtil.Callback" class="hiddenlink" target="rightframe"><b>DiffUtil.Callback</b></A><br>
+<!-- Class DiffUtil.DiffResult -->
+<A HREF="pkg_android.support.v7.util.html#DiffUtil.DiffResult" class="hiddenlink" target="rightframe"><b>DiffUtil.DiffResult</b></A><br>
+<!-- Field dodgeInsetEdges -->
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html#android.support.design.widget.CoordinatorLayout.LayoutParams.dodgeInsetEdges" class="hiddenlink" target="rightframe">dodgeInsetEdges</A>
+</nobr><br>
+<!-- Field EXTRA_BT_FOLDER_TYPE -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.EXTRA_BT_FOLDER_TYPE" class="hiddenlink" target="rightframe">EXTRA_BT_FOLDER_TYPE</A>
+</nobr><br>
+<!-- Field EXTRA_ENABLE_INSTANT_APPS -->
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.EXTRA_ENABLE_INSTANT_APPS" class="hiddenlink" target="rightframe">EXTRA_ENABLE_INSTANT_APPS</A>
+</nobr><br>
+<!-- Field EXTRA_SUGGESTION_KEYWORDS -->
+<nobr><A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html#android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.EXTRA_SUGGESTION_KEYWORDS" class="hiddenlink" target="rightframe">EXTRA_SUGGESTION_KEYWORDS</A>
+</nobr><br>
+<!-- Field EXTRA_USAGE_TIME_REPORT -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT" class="hiddenlink" target="rightframe">EXTRA_USAGE_TIME_REPORT</A>
+</nobr><br>
+<!-- Field EXTRA_USAGE_TIME_REPORT_PACKAGES -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT_PACKAGES" class="hiddenlink" target="rightframe">EXTRA_USAGE_TIME_REPORT_PACKAGES</A>
+</nobr><br>
+<!-- Method findFragmentByWho -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.FragmentController.html#android.support.v4.app.FragmentController.findFragmentByWho_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>findFragmentByWho</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method fromMediaItem -->
+<nobr><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html#android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItem_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromMediaItem</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Method fromMediaItemList -->
+<nobr><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html#android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItemList_added(java.util.List<?>)" class="hiddenlink" target="rightframe"><b>fromMediaItemList</b>
+(<code>List<?></code>)</A></nobr><br>
+<!-- Method fromMediaSession -->
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.html#android.support.v4.media.session.MediaSessionCompat.fromMediaSession_added(android.content.Context, java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromMediaSession</b>
+(<code>Context, Object</code>)</A></nobr><br>
+<!-- Method fromQueueItem -->
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItem_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromQueueItem</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Method fromQueueItemList -->
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItemList_added(java.util.List<?>)" class="hiddenlink" target="rightframe"><b>fromQueueItemList</b>
+(<code>List<?></code>)</A></nobr><br>
+<!-- Method getAction -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.getAction_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>getAction</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method getCompoundDrawablesRelative -->
+<nobr><A HREF="android.support.v4.widget.TextViewCompat.html#android.support.v4.widget.TextViewCompat.getCompoundDrawablesRelative_added(android.widget.TextView)" class="hiddenlink" target="rightframe"><b>getCompoundDrawablesRelative</b>
+(<code>TextView</code>)</A></nobr><br>
+<!-- Method getDependents -->
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.html#android.support.design.widget.CoordinatorLayout.getDependents_added(android.view.View)" class="hiddenlink" target="rightframe"><b>getDependents</b>
+(<code>View</code>)</A></nobr><br>
+<!-- Method getDominantColor -->
+<nobr><A HREF="android.support.v7.graphics.Palette.html#android.support.v7.graphics.Palette.getDominantColor_added(int)" class="hiddenlink" target="rightframe"><b>getDominantColor</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getDominantSwatch -->
+<nobr><A HREF="android.support.v7.graphics.Palette.html#android.support.v7.graphics.Palette.getDominantSwatch_added()" class="hiddenlink" target="rightframe"><b>getDominantSwatch</b>
+()</A></nobr><br>
+<!-- Method getDrawable -->
+<nobr><A HREF="android.support.v7.content.res.AppCompatResources.html#android.support.v7.content.res.AppCompatResources.getDrawable_added(android.content.Context, int)" class="hiddenlink" target="rightframe"><b>getDrawable</b>
+(<code>Context, int</code>)</A></nobr><br>
+<!-- Method getDrawerArrowDrawable -->
+<nobr><A HREF="android.support.v7.app.ActionBarDrawerToggle.html#android.support.v7.app.ActionBarDrawerToggle.getDrawerArrowDrawable_added()" class="hiddenlink" target="rightframe"><b>getDrawerArrowDrawable</b>
+()</A></nobr><br>
+<!-- Method getInsetDodgeRect -->
+<i>getInsetDodgeRect</i><br>
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, V, Rect</code>)</b> in android.support.design.widget.CoordinatorLayout.Behavior
+</A></nobr><br>
+<!-- Method getInsetDodgeRect -->
+ <nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.graphics.Rect)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, FloatingActionButton, Rect</code>)</b> in android.support.design.widget.FloatingActionButton.Behavior
+</A></nobr><br>
+<!-- Method getLaunchBounds -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.getLaunchBounds_added()" class="hiddenlink" target="rightframe"><b>getLaunchBounds</b>
+()</A></nobr><br>
+<!-- Method getMediaItemNumberViewFlipper -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemNumberViewFlipper_added()" class="hiddenlink" target="rightframe"><b>getMediaItemNumberViewFlipper</b>
+()</A></nobr><br>
+<!-- Method getMediaItemPausedView -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPausedView_added()" class="hiddenlink" target="rightframe"><b>getMediaItemPausedView</b>
+()</A></nobr><br>
+<!-- Method getMediaItemPlayingView -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPlayingView_added()" class="hiddenlink" target="rightframe"><b>getMediaItemPlayingView</b>
+()</A></nobr><br>
+<!-- Method getMediaPlayState -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.getMediaPlayState_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>getMediaPlayState</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Method getMovementGranularity -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.getMovementGranularity_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>getMovementGranularity</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method getOnFlingListener -->
+<nobr><A HREF="android.support.v7.widget.RecyclerView.html#android.support.v7.widget.RecyclerView.getOnFlingListener_added()" class="hiddenlink" target="rightframe"><b>getOnFlingListener</b>
+()</A></nobr><br>
+<!-- Method getPasswordVisibilityToggleContentDescription -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleContentDescription_added()" class="hiddenlink" target="rightframe"><b>getPasswordVisibilityToggleContentDescription</b>
+()</A></nobr><br>
+<!-- Method getPasswordVisibilityToggleDrawable -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleDrawable_added()" class="hiddenlink" target="rightframe"><b>getPasswordVisibilityToggleDrawable</b>
+()</A></nobr><br>
+<!-- Method getSelectionMode -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.getSelectionMode_added()" class="hiddenlink" target="rightframe"><b>getSelectionMode</b>
+()</A></nobr><br>
+<!-- Class GridLayout -->
+<A HREF="pkg_android.support.v7.widget.html#GridLayout" class="hiddenlink" target="rightframe"><b>GridLayout</b></A><br>
+<!-- Class GridLayout.Alignment -->
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.Alignment" class="hiddenlink" target="rightframe"><b>GridLayout.Alignment</b></A><br>
+<!-- Class GridLayout.LayoutParams -->
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.LayoutParams" class="hiddenlink" target="rightframe"><b>GridLayout.LayoutParams</b></A><br>
+<!-- Class GridLayout.Spec -->
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.Spec" class="hiddenlink" target="rightframe"><b>GridLayout.Spec</b></A><br>
+<!-- Field HOST_VIEW_ID -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html#android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.HOST_VIEW_ID" class="hiddenlink" target="rightframe">HOST_VIEW_ID</A>
+</nobr><br>
+<!-- Field insetEdge -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html#android.support.design.widget.CoordinatorLayout.LayoutParams.insetEdge" class="hiddenlink" target="rightframe">insetEdge</A>
+</nobr><br>
+<!-- Method isAtLeastNMR1 -->
+<nobr><A HREF="android.support.v4.os.BuildCompat.html#android.support.v4.os.BuildCompat.isAtLeastNMR1_added()" class="hiddenlink" target="rightframe"><b>isAtLeastNMR1</b>
+()</A></nobr><br>
+<!-- Method isAutoHideEnabled -->
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.isAutoHideEnabled_added()" class="hiddenlink" target="rightframe"><b>isAutoHideEnabled</b>
+()</A></nobr><br>
+<!-- Method isContextClickable -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.isContextClickable_added()" class="hiddenlink" target="rightframe"><b>isContextClickable</b>
+()</A></nobr><br>
+<!-- Method isImmediateNotifySupported -->
+<nobr><A HREF="android.support.v17.leanback.widget.ObjectAdapter.html#android.support.v17.leanback.widget.ObjectAdapter.isImmediateNotifySupported_added()" class="hiddenlink" target="rightframe"><b>isImmediateNotifySupported</b>
+()</A></nobr><br>
+<!-- Method isImportantForAccessibility -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.isImportantForAccessibility_added(android.view.View)" class="hiddenlink" target="rightframe"><b>isImportantForAccessibility</b>
+(<code>View</code>)</A></nobr><br>
+<!-- Method isPasswordVisibilityToggleEnabled -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.isPasswordVisibilityToggleEnabled_added()" class="hiddenlink" target="rightframe"><b>isPasswordVisibilityToggleEnabled</b>
+()</A></nobr><br>
+<!-- Class LinearLayoutCompat -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#LinearLayoutCompat" class="hiddenlink" target="rightframe"><b>LinearLayoutCompat</b></A><br>
+<!-- Class LinearLayoutCompat.LayoutParams -->
+<A HREF="pkg_android.support.v7.widget.html#LinearLayoutCompat.LayoutParams" class="hiddenlink" target="rightframe"><b>LinearLayoutCompat.LayoutParams</b></A><br>
+<!-- Class LinearSnapHelper -->
+<A HREF="pkg_android.support.v7.widget.html#LinearSnapHelper" class="hiddenlink" target="rightframe"><b>LinearSnapHelper</b></A><br>
+<!-- Class ListPopupWindow -->
+<A HREF="pkg_android.support.v7.widget.html#ListPopupWindow" class="hiddenlink" target="rightframe"><b>ListPopupWindow</b></A><br>
+<!-- Class ListUpdateCallback -->
+<A HREF="pkg_android.support.v7.util.html#ListUpdateCallback" class="hiddenlink" target="rightframe"><b><i>ListUpdateCallback</i></b></A><br>
+<!-- Method loadDescription -->
+<nobr><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html#android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.loadDescription_added(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager)" class="hiddenlink" target="rightframe"><b>loadDescription</b>
+(<code>AccessibilityServiceInfo, PackageManager</code>)</A></nobr><br>
+<!-- Method makeBasic -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeBasic_added()" class="hiddenlink" target="rightframe"><b>makeBasic</b>
+()</A></nobr><br>
+<!-- Method makeClipRevealAnimation -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeClipRevealAnimation_added(android.view.View, int, int, int, int)" class="hiddenlink" target="rightframe"><b>makeClipRevealAnimation</b>
+(<code>View, int, int, int, int</code>)</A></nobr><br>
+<!-- Method makeTaskLaunchBehind -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeTaskLaunchBehind_added()" class="hiddenlink" target="rightframe"><b>makeTaskLaunchBehind</b>
+()</A></nobr><br>
+<!-- Field METADATA_KEY_BT_FOLDER_TYPE -->
+<nobr><A HREF="android.support.v4.media.MediaMetadataCompat.html#android.support.v4.media.MediaMetadataCompat.METADATA_KEY_BT_FOLDER_TYPE" class="hiddenlink" target="rightframe">METADATA_KEY_BT_FOLDER_TYPE</A>
+</nobr><br>
+<!-- Field METADATA_KEY_MEDIA_URI -->
+<nobr><A HREF="android.support.v4.media.MediaMetadataCompat.html#android.support.v4.media.MediaMetadataCompat.METADATA_KEY_MEDIA_URI" class="hiddenlink" target="rightframe">METADATA_KEY_MEDIA_URI</A>
+</nobr><br>
+<!-- Class MultiSelectListPreferenceDialogFragmentCompat -->
+<A HREF="pkg_android.support.v7.preference.html#MultiSelectListPreferenceDialogFragmentCompat" class="hiddenlink" target="rightframe"><b>MultiSelectListPreferenceDialogFragmentCompat</b></A><br>
+<!-- Class NotificationCompat -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat" class="hiddenlink" target="rightframe"><b>NotificationCompat</b></A><br>
+<!-- Class NotificationCompat.Builder -->
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat.Builder" class="hiddenlink" target="rightframe"><b>NotificationCompat.Builder</b></A><br>
+<!-- Class NotificationCompat.MediaStyle -->
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat.MediaStyle" class="hiddenlink" target="rightframe"><b>NotificationCompat.MediaStyle</b></A><br>
+<!-- Method notifyPlayStateChanged -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.notifyPlayStateChanged_added()" class="hiddenlink" target="rightframe"><b>notifyPlayStateChanged</b>
+()</A></nobr><br>
+<!-- Method obtain -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>obtain</i><br>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain_added(int, int, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, int, boolean</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat
+</A></nobr><br>
+<!-- Method obtain -->
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.obtain_added(int, int, int, int, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, int, int, int, boolean</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat
+</A></nobr><br>
+<!-- Method obtain -->
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.obtain_added(int, float, float, float)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, float, float, float</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat
+</A></nobr><br>
+<!-- Method onAttachedToLayoutParams -->
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onAttachedToLayoutParams_added(android.support.design.widget.CoordinatorLayout.LayoutParams)" class="hiddenlink" target="rightframe"><b>onAttachedToLayoutParams</b>
+(<code>LayoutParams</code>)</A></nobr><br>
+<!-- Method onBindMediaPlayState -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.onBindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" class="hiddenlink" target="rightframe"><b>onBindMediaPlayState</b>
+(<code>ViewHolder</code>)</A></nobr><br>
+<!-- Method onChanged -->
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onChanged_added(int, int, java.lang.Object)" class="hiddenlink" target="rightframe"><b>onChanged</b>
+(<code>int, int, Object</code>)</A></nobr><br>
+<!-- Method onDetachedFromLayoutParams -->
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onDetachedFromLayoutParams_added()" class="hiddenlink" target="rightframe"><b>onDetachedFromLayoutParams</b>
+()</A></nobr><br>
+<!-- Method onRequestChildRectangleOnScreen -->
+<i>onRequestChildRectangleOnScreen</i><br>
+ <nobr><A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html#android.support.design.widget.AppBarLayout.ScrollingViewBehavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, android.view.View, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, View, Rect, boolean</code>)</b> in android.support.design.widget.AppBarLayout.ScrollingViewBehavior
+</A></nobr><br>
+<!-- Method onRequestChildRectangleOnScreen -->
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, V, Rect, boolean</code>)</b> in android.support.design.widget.CoordinatorLayout.Behavior
+</A></nobr><br>
+<!-- Method onSharedElementsArrived -->
+<nobr><A HREF="android.support.v4.app.SharedElementCallback.html#android.support.v4.app.SharedElementCallback.onSharedElementsArrived_added(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener)" class="hiddenlink" target="rightframe"><b>onSharedElementsArrived</b>
+(<code>List<String>, List<View>, OnSharedElementsReadyListener</code>)</A></nobr><br>
+<!-- Method onStart -->
+<nobr><A HREF="android.support.v7.app.AppCompatDelegate.html#android.support.v7.app.AppCompatDelegate.onStart_added()" class="hiddenlink" target="rightframe"><b>onStart</b>
+()</A></nobr><br>
+<!-- Method onUnbindMediaPlayState -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.onUnbindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" class="hiddenlink" target="rightframe"><b>onUnbindMediaPlayState</b>
+(<code>ViewHolder</code>)</A></nobr><br>
+<!-- Class PatternsCompat -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v4.util.html#PatternsCompat" class="hiddenlink" target="rightframe"><b>PatternsCompat</b></A><br>
+<!-- Field PEEK_HEIGHT_AUTO -->
+<nobr><A HREF="android.support.design.widget.BottomSheetBehavior.html#android.support.design.widget.BottomSheetBehavior.PEEK_HEIGHT_AUTO" class="hiddenlink" target="rightframe">PEEK_HEIGHT_AUTO</A>
+</nobr><br>
+<!-- Field PLAY_STATE_INITIAL -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_INITIAL" class="hiddenlink" target="rightframe">PLAY_STATE_INITIAL</A>
+</nobr><br>
+<!-- Field PLAY_STATE_PAUSED -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PAUSED" class="hiddenlink" target="rightframe">PLAY_STATE_PAUSED</A>
+</nobr><br>
+<!-- Field PLAY_STATE_PLAYING -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PLAYING" class="hiddenlink" target="rightframe">PLAY_STATE_PLAYING</A>
+</nobr><br>
+<!-- Class PopupMenu -->
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu" class="hiddenlink" target="rightframe"><b>PopupMenu</b></A><br>
+<!-- Class PopupMenu.OnDismissListener -->
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu.OnDismissListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnDismissListener</i></b></A><br>
+<!-- Class PopupMenu.OnMenuItemClickListener -->
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnMenuItemClickListener</i></b></A><br>
+<!-- Class RecyclerView.OnFlingListener -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#RecyclerView.OnFlingListener" class="hiddenlink" target="rightframe"><b>RecyclerView.OnFlingListener</b></A><br>
+<!-- Class RecyclerView.SmoothScroller.ScrollVectorProvider -->
+<A HREF="pkg_android.support.v7.widget.html#RecyclerView.SmoothScroller.ScrollVectorProvider" class="hiddenlink" target="rightframe"><b><i>RecyclerView.SmoothScroller.ScrollVectorProvider</i></b></A><br>
+<!-- Method removeTouchExplorationStateChangeListener -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.removeTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" class="hiddenlink" target="rightframe"><b>removeTouchExplorationStateChangeListener</b>
+(<code>AccessibilityManager, TouchExplorationStateChangeListener</code>)</A></nobr><br>
+<!-- Method requestUsageTimeReport -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.requestUsageTimeReport_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>requestUsageTimeReport</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<!-- Class SearchView -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#SearchView" class="hiddenlink" target="rightframe"><b>SearchView</b></A><br>
+<!-- Class SearchView.OnCloseListener -->
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnCloseListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnCloseListener</i></b></A><br>
+<!-- Class SearchView.OnQueryTextListener -->
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnQueryTextListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnQueryTextListener</i></b></A><br>
+<!-- Class SearchView.OnSuggestionListener -->
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnSuggestionListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnSuggestionListener</i></b></A><br>
+<!-- Class SearchViewCompat.OnCloseListener -->
+<A HREF="pkg_android.support.v4.widget.html#SearchViewCompat.OnCloseListener" class="hiddenlink" target="rightframe"><b><i>SearchViewCompat.OnCloseListener</i></b></A><br>
+<!-- Class SearchViewCompat.OnQueryTextListener -->
+<A HREF="pkg_android.support.v4.widget.html#SearchViewCompat.OnQueryTextListener" class="hiddenlink" target="rightframe"><b><i>SearchViewCompat.OnQueryTextListener</i></b></A><br>
+<!-- Method setAction -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.setAction_added(android.view.accessibility.AccessibilityEvent, int)" class="hiddenlink" target="rightframe"><b>setAction</b>
+(<code>AccessibilityEvent, int</code>)</A></nobr><br>
+<!-- Method setAlwaysUseBrowserUI -->
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.setAlwaysUseBrowserUI_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>setAlwaysUseBrowserUI</b>
+(<code>Intent</code>)</A></nobr><br>
+<!-- Method setAutoHideEnabled -->
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.setAutoHideEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoHideEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setCollapsedTitleTextColor -->
+<nobr><A HREF="android.support.design.widget.CollapsingToolbarLayout.html#android.support.design.widget.CollapsingToolbarLayout.setCollapsedTitleTextColor_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setCollapsedTitleTextColor</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<!-- Method setContextClickable -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.setContextClickable_added(boolean)" class="hiddenlink" target="rightframe"><b>setContextClickable</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setDrawerArrowDrawable -->
+<nobr><A HREF="android.support.v7.app.ActionBarDrawerToggle.html#android.support.v7.app.ActionBarDrawerToggle.setDrawerArrowDrawable_added(android.support.v7.graphics.drawable.DrawerArrowDrawable)" class="hiddenlink" target="rightframe"><b>setDrawerArrowDrawable</b>
+(<code>DrawerArrowDrawable</code>)</A></nobr><br>
+<!-- Method setExpandedTitleTextColor -->
+<nobr><A HREF="android.support.design.widget.CollapsingToolbarLayout.html#android.support.design.widget.CollapsingToolbarLayout.setExpandedTitleTextColor_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setExpandedTitleTextColor</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<!-- Method setInstantAppsEnabled -->
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.Builder.html#android.support.customtabs.CustomTabsIntent.Builder.setInstantAppsEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setInstantAppsEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setLaunchBounds -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.setLaunchBounds_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>setLaunchBounds</b>
+(<code>Rect</code>)</A></nobr><br>
+<!-- Method setMovementGranularity -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.setMovementGranularity_added(android.view.accessibility.AccessibilityEvent, int)" class="hiddenlink" target="rightframe"><b>setMovementGranularity</b>
+(<code>AccessibilityEvent, int</code>)</A></nobr><br>
+<!-- Method setOnChildScrollUpCallback -->
+<nobr><A HREF="android.support.v4.widget.SwipeRefreshLayout.html#android.support.v4.widget.SwipeRefreshLayout.setOnChildScrollUpCallback_added(android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback)" class="hiddenlink" target="rightframe"><b>setOnChildScrollUpCallback</b>
+(<code>OnChildScrollUpCallback</code>)</A></nobr><br>
+<!-- Method setOnFlingListener -->
+<nobr><A HREF="android.support.v7.widget.RecyclerView.html#android.support.v7.widget.RecyclerView.setOnFlingListener_added(android.support.v7.widget.RecyclerView.OnFlingListener)" class="hiddenlink" target="rightframe"><b>setOnFlingListener</b>
+(<code>OnFlingListener</code>)</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleContentDescription -->
+<i>setPasswordVisibilityToggleContentDescription</i><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleContentDescription -->
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type <b>
+(<code>CharSequence</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleDrawable -->
+<i>setPasswordVisibilityToggleDrawable</i><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type <b>
+(<code>Drawable</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleDrawable -->
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleEnabled -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleTintList -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintList_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleTintList</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleTintMode -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintMode_added(android.graphics.PorterDuff.Mode)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleTintMode</b>
+(<code>Mode</code>)</A></nobr><br>
+<!-- Method setSecondaryToolbarViews -->
+<nobr><A HREF="android.support.customtabs.CustomTabsSession.html#android.support.customtabs.CustomTabsSession.setSecondaryToolbarViews_added(android.widget.RemoteViews, int[], android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>setSecondaryToolbarViews</b>
+(<code>RemoteViews, int[], PendingIntent</code>)</A></nobr><br>
+<!-- Method setSelectedMediaItemNumberView -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.setSelectedMediaItemNumberView_added(int)" class="hiddenlink" target="rightframe"><b>setSelectedMediaItemNumberView</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class ShareActionProvider -->
+<A HREF="pkg_android.support.v7.widget.html#ShareActionProvider" class="hiddenlink" target="rightframe"><b>ShareActionProvider</b></A><br>
+<!-- Class ShareActionProvider.OnShareTargetSelectedListener -->
+<A HREF="pkg_android.support.v7.widget.html#ShareActionProvider.OnShareTargetSelectedListener" class="hiddenlink" target="rightframe"><b><i>ShareActionProvider.OnShareTargetSelectedListener</i></b></A><br>
+<!-- Class SharedElementCallback.OnSharedElementsReadyListener -->
+<A HREF="pkg_android.support.v4.app.html#SharedElementCallback.OnSharedElementsReadyListener" class="hiddenlink" target="rightframe"><b><i>SharedElementCallback.OnSharedElementsReadyListener</i></b></A><br>
+<!-- Method shouldAlwaysUseBrowserUI -->
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.shouldAlwaysUseBrowserUI_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>shouldAlwaysUseBrowserUI</b>
+(<code>Intent</code>)</A></nobr><br>
+<!-- Class SnapHelper -->
+<A HREF="pkg_android.support.v7.widget.html#SnapHelper" class="hiddenlink" target="rightframe"><b>SnapHelper</b></A><br>
+<!-- Class Space -->
+<A HREF="pkg_android.support.v7.widget.html#Space" class="hiddenlink" target="rightframe"><b>Space</b></A><br>
+<!-- Field STOP_FOREGROUND_DETACH -->
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.STOP_FOREGROUND_DETACH" class="hiddenlink" target="rightframe">STOP_FOREGROUND_DETACH</A>
+</nobr><br>
+<!-- Field STOP_FOREGROUND_REMOVE -->
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.STOP_FOREGROUND_REMOVE" class="hiddenlink" target="rightframe">STOP_FOREGROUND_REMOVE</A>
+</nobr><br>
+<!-- Method stopForeground -->
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.stopForeground_added(android.app.Service, int)" class="hiddenlink" target="rightframe"><b>stopForeground</b>
+(<code>Service, int</code>)</A></nobr><br>
+<!-- Class SwipeRefreshLayout.OnChildScrollUpCallback -->
+<A HREF="pkg_android.support.v4.widget.html#SwipeRefreshLayout.OnChildScrollUpCallback" class="hiddenlink" target="rightframe"><b><i>SwipeRefreshLayout.OnChildScrollUpCallback</i></b></A><br>
+<!-- Class SwitchCompat -->
+<A HREF="pkg_android.support.v7.widget.html#SwitchCompat" class="hiddenlink" target="rightframe"><b>SwitchCompat</b></A><br>
+<!-- Class ThemedSpinnerAdapter -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#ThemedSpinnerAdapter" class="hiddenlink" target="rightframe"><b><i>ThemedSpinnerAdapter</i></b></A><br>
+<!-- Class ThemedSpinnerAdapter.Helper -->
+<A HREF="pkg_android.support.v7.widget.html#ThemedSpinnerAdapter.Helper" class="hiddenlink" target="rightframe"><b>ThemedSpinnerAdapter.Helper</b></A><br>
+<!-- Method toKeyCode -->
+<nobr><A HREF="android.support.v4.media.session.PlaybackStateCompat.html#android.support.v4.media.session.PlaybackStateCompat.toKeyCode_added(long)" class="hiddenlink" target="rightframe"><b>toKeyCode</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Class Toolbar -->
+<A HREF="pkg_android.support.v7.widget.html#Toolbar" class="hiddenlink" target="rightframe"><b>Toolbar</b></A><br>
+<!-- Class Toolbar.LayoutParams -->
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.LayoutParams" class="hiddenlink" target="rightframe"><b>Toolbar.LayoutParams</b></A><br>
+<!-- Class Toolbar.OnMenuItemClickListener -->
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>Toolbar.OnMenuItemClickListener</i></b></A><br>
+<!-- Class Toolbar.SavedState -->
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.SavedState" class="hiddenlink" target="rightframe"><b>Toolbar.SavedState</b></A><br>
+<!-- Field TYPE_ASSIST_READING_CONTEXT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_ASSIST_READING_CONTEXT" class="hiddenlink" target="rightframe">TYPE_ASSIST_READING_CONTEXT</A>
+</nobr><br>
+<!-- Field TYPE_SPLIT_SCREEN_DIVIDER -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html#android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.TYPE_SPLIT_SCREEN_DIVIDER" class="hiddenlink" target="rightframe">TYPE_SPLIT_SCREEN_DIVIDER</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_CONTEXT_CLICKED -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_VIEW_CONTEXT_CLICKED" class="hiddenlink" target="rightframe">TYPE_VIEW_CONTEXT_CLICKED</A>
+</nobr><br>
+<!-- Field TYPE_WINDOWS_CHANGED -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_WINDOWS_CHANGED" class="hiddenlink" target="rightframe">TYPE_WINDOWS_CHANGED</A>
+</nobr><br>
+<!-- Constructor WindowInsetsCompat -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.WindowInsetsCompat.html#android.support.v4.view.WindowInsetsCompat.ctor_added(android.support.v4.view.WindowInsetsCompat)" class="hiddenlink" target="rightframe"><b>WindowInsetsCompat</b>
+(<code>WindowInsetsCompat</code>)</A></nobr> constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_all.html b/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_all.html
new file mode 100644
index 0000000..719f9af
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_all.html
@@ -0,0 +1,1327 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>All Differences</b>
+ <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<!-- Class AbstractMediaItemPresenter -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html" class="hiddenlink" target="rightframe">AbstractMediaItemPresenter</A><br>
+<!-- Class AbstractMediaItemPresenter.ViewHolder -->
+<A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html" class="hiddenlink" target="rightframe">AbstractMediaItemPresenter.ViewHolder</A><br>
+<!-- Class AccessibilityEventCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html" class="hiddenlink" target="rightframe">AccessibilityEventCompat</A><br>
+<!-- Class AccessibilityManagerCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html" class="hiddenlink" target="rightframe">AccessibilityManagerCompat</A><br>
+<!-- Class AccessibilityManagerCompat.AccessibilityStateChangeListener -->
+<A HREF="pkg_android.support.v4.view.accessibility.html#AccessibilityManagerCompat.AccessibilityStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManagerCompat.AccessibilityStateChangeListener</i></b></A><br>
+<!-- Class AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html" class="hiddenlink" target="rightframe">AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat</A><br>
+<!-- Class AccessibilityManagerCompat.TouchExplorationStateChangeListener -->
+<A HREF="pkg_android.support.v4.view.accessibility.html#AccessibilityManagerCompat.TouchExplorationStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManagerCompat.TouchExplorationStateChangeListener</i></b></A><br>
+<!-- Class AccessibilityNodeInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat</A><br>
+<!-- Class AccessibilityNodeInfoCompat.AccessibilityActionCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.AccessibilityActionCompat</A><br>
+<!-- Class AccessibilityNodeInfoCompat.CollectionInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.CollectionInfoCompat</A><br>
+<!-- Class AccessibilityNodeInfoCompat.CollectionItemInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.CollectionItemInfoCompat</A><br>
+<!-- Class AccessibilityNodeInfoCompat.RangeInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.RangeInfoCompat</A><br>
+<!-- Class AccessibilityNodeProviderCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeProviderCompat</A><br>
+<!-- Class AccessibilityServiceInfoCompat -->
+<A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfoCompat</A><br>
+<!-- Class AccessibilityWindowInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfoCompat</A><br>
+<!-- Field ACTION_ARGUMENT_COLUMN_INT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_COLUMN_INT" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_COLUMN_INT</A>
+</nobr><br>
+<!-- Field ACTION_ARGUMENT_PROGRESS_VALUE -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_PROGRESS_VALUE" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_PROGRESS_VALUE</A>
+</nobr><br>
+<!-- Field ACTION_ARGUMENT_ROW_INT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_ROW_INT" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_ROW_INT</A>
+</nobr><br>
+<!-- Field ACTION_CONTEXT_CLICK -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CONTEXT_CLICK" class="hiddenlink" target="rightframe">ACTION_CONTEXT_CLICK</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_DOWN -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_DOWN" class="hiddenlink" target="rightframe">ACTION_SCROLL_DOWN</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_LEFT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_LEFT" class="hiddenlink" target="rightframe">ACTION_SCROLL_LEFT</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_RIGHT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_RIGHT" class="hiddenlink" target="rightframe">ACTION_SCROLL_RIGHT</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_TO_POSITION -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_TO_POSITION" class="hiddenlink" target="rightframe">ACTION_SCROLL_TO_POSITION</A>
+</nobr><br>
+<!-- Field ACTION_SCROLL_UP -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_UP" class="hiddenlink" target="rightframe">ACTION_SCROLL_UP</A>
+</nobr><br>
+<!-- Field ACTION_SET_PROGRESS -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SET_PROGRESS" class="hiddenlink" target="rightframe">ACTION_SET_PROGRESS</A>
+</nobr><br>
+<!-- Field ACTION_SHOW_ON_SCREEN -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SHOW_ON_SCREEN" class="hiddenlink" target="rightframe">ACTION_SHOW_ON_SCREEN</A>
+</nobr><br>
+<!-- Class ActionBarActivity -->
+<A HREF="pkg_android.support.v7.app.html#ActionBarActivity" class="hiddenlink" target="rightframe"><b>ActionBarActivity</b></A><br>
+<!-- Class ActionBarDrawerToggle -->
+<A HREF="android.support.v7.app.ActionBarDrawerToggle.html" class="hiddenlink" target="rightframe">ActionBarDrawerToggle</A><br>
+<!-- Class ActionMenuView -->
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView" class="hiddenlink" target="rightframe"><b>ActionMenuView</b></A><br>
+<!-- Class ActionMenuView.LayoutParams -->
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView.LayoutParams" class="hiddenlink" target="rightframe"><b>ActionMenuView.LayoutParams</b></A><br>
+<!-- Class ActionMenuView.OnMenuItemClickListener -->
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>ActionMenuView.OnMenuItemClickListener</i></b></A><br>
+<!-- Class ActivityCompat -->
+<i>ActivityCompat</i><br>
+ <A HREF="android.support.v4.app.ActivityCompat.html" class="hiddenlink" target="rightframe">android.support.v4.app</A><br>
+<!-- Constructor ActivityCompat -->
+ <nobr><A HREF="android.support.v4.app.ActivityCompat.html#android.support.v4.app.ActivityCompat.ctor_changed()" class="hiddenlink" target="rightframe">ActivityCompat
+()</A></nobr> constructor<br>
+<!-- Class ActivityOptionsCompat -->
+<A HREF="android.support.v4.app.ActivityOptionsCompat.html" class="hiddenlink" target="rightframe">ActivityOptionsCompat</A><br>
+<!-- Method addAccessibilityStateChangeListener -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.addAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe">addAccessibilityStateChangeListener
+(<code>AccessibilityManager, AccessibilityStateChangeListener</code>)</A></nobr><br>
+<!-- Method addTouchExplorationStateChangeListener -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.addTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" class="hiddenlink" target="rightframe"><b>addTouchExplorationStateChangeListener</b>
+(<code>AccessibilityManager, TouchExplorationStateChangeListener</code>)</A></nobr><br>
+<!-- Package android.support.customtabs -->
+<A HREF="pkg_android.support.customtabs.html" class="hiddenlink" target="rightframe">android.support.customtabs</A><br>
+<!-- Package android.support.design.widget -->
+<A HREF="pkg_android.support.design.widget.html" class="hiddenlink" target="rightframe">android.support.design.widget</A><br>
+<!-- Package android.support.transition -->
+<A HREF="changes-summary.html#android.support.transition" class="hiddenlink" target="rightframe"><b>android.support.transition</b></A><br>
+<!-- Package android.support.v14.preference -->
+<A HREF="pkg_android.support.v14.preference.html" class="hiddenlink" target="rightframe">android.support.v14.preference</A><br>
+<!-- Package android.support.v17.leanback.widget -->
+<A HREF="pkg_android.support.v17.leanback.widget.html" class="hiddenlink" target="rightframe">android.support.v17.leanback.widget</A><br>
+<!-- Package android.support.v17.preference -->
+<A HREF="pkg_android.support.v17.preference.html" class="hiddenlink" target="rightframe">android.support.v17.preference</A><br>
+<!-- Package android.support.v4.accessibilityservice -->
+<A HREF="pkg_android.support.v4.accessibilityservice.html" class="hiddenlink" target="rightframe">android.support.v4.accessibilityservice</A><br>
+<!-- Package android.support.v4.app -->
+<A HREF="pkg_android.support.v4.app.html" class="hiddenlink" target="rightframe">android.support.v4.app</A><br>
+<!-- Package android.support.v4.content -->
+<A HREF="pkg_android.support.v4.content.html" class="hiddenlink" target="rightframe">android.support.v4.content</A><br>
+<!-- Package android.support.v4.graphics.drawable -->
+<A HREF="pkg_android.support.v4.graphics.drawable.html" class="hiddenlink" target="rightframe">android.support.v4.graphics.drawable</A><br>
+<!-- Package android.support.v4.media -->
+<A HREF="pkg_android.support.v4.media.html" class="hiddenlink" target="rightframe">android.support.v4.media</A><br>
+<!-- Package android.support.v4.media.session -->
+<A HREF="pkg_android.support.v4.media.session.html" class="hiddenlink" target="rightframe">android.support.v4.media.session</A><br>
+<!-- Package android.support.v4.os -->
+<A HREF="pkg_android.support.v4.os.html" class="hiddenlink" target="rightframe">android.support.v4.os</A><br>
+<!-- Package android.support.v4.text.util -->
+<A HREF="changes-summary.html#android.support.v4.text.util" class="hiddenlink" target="rightframe"><b>android.support.v4.text.util</b></A><br>
+<!-- Package android.support.v4.util -->
+<A HREF="pkg_android.support.v4.util.html" class="hiddenlink" target="rightframe">android.support.v4.util</A><br>
+<!-- Package android.support.v4.view -->
+<A HREF="pkg_android.support.v4.view.html" class="hiddenlink" target="rightframe">android.support.v4.view</A><br>
+<!-- Package android.support.v4.view.accessibility -->
+<A HREF="pkg_android.support.v4.view.accessibility.html" class="hiddenlink" target="rightframe">android.support.v4.view.accessibility</A><br>
+<!-- Package android.support.v4.widget -->
+<A HREF="pkg_android.support.v4.widget.html" class="hiddenlink" target="rightframe">android.support.v4.widget</A><br>
+<!-- Package android.support.v7.app -->
+<A HREF="pkg_android.support.v7.app.html" class="hiddenlink" target="rightframe">android.support.v7.app</A><br>
+<!-- Package android.support.v7.appcompat -->
+<A HREF="changes-summary.html#android.support.v7.appcompat" class="hiddenlink" target="rightframe"><strike>android.support.v7.appcompat</strike></A><br>
+<!-- Package android.support.v7.content.res -->
+<A HREF="pkg_android.support.v7.content.res.html" class="hiddenlink" target="rightframe">android.support.v7.content.res</A><br>
+<!-- Package android.support.v7.graphics -->
+<A HREF="pkg_android.support.v7.graphics.html" class="hiddenlink" target="rightframe">android.support.v7.graphics</A><br>
+<!-- Package android.support.v7.preference -->
+<A HREF="pkg_android.support.v7.preference.html" class="hiddenlink" target="rightframe">android.support.v7.preference</A><br>
+<!-- Package android.support.v7.recyclerview -->
+<A HREF="changes-summary.html#android.support.v7.recyclerview" class="hiddenlink" target="rightframe"><strike>android.support.v7.recyclerview</strike></A><br>
+<!-- Package android.support.v7.util -->
+<A HREF="pkg_android.support.v7.util.html" class="hiddenlink" target="rightframe">android.support.v7.util</A><br>
+<!-- Package android.support.v7.widget -->
+<A HREF="pkg_android.support.v7.widget.html" class="hiddenlink" target="rightframe">android.support.v7.widget</A><br>
+<!-- Package android.support.v8.renderscript -->
+<A HREF="changes-summary.html#android.support.v8.renderscript" class="hiddenlink" target="rightframe"><strike>android.support.v8.renderscript</strike></A><br>
+<!-- Class AppBarLayout.ScrollingViewBehavior -->
+<A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html" class="hiddenlink" target="rightframe">AppBarLayout.ScrollingViewBehavior</A><br>
+<!-- Class AppCompatActivity -->
+<A HREF="pkg_android.support.v7.app.html#AppCompatActivity" class="hiddenlink" target="rightframe"><b>AppCompatActivity</b></A><br>
+<!-- Class AppCompatAutoCompleteTextView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatAutoCompleteTextView" class="hiddenlink" target="rightframe"><b>AppCompatAutoCompleteTextView</b></A><br>
+<!-- Class AppCompatButton -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatButton" class="hiddenlink" target="rightframe"><b>AppCompatButton</b></A><br>
+<!-- Class AppCompatCheckBox -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatCheckBox" class="hiddenlink" target="rightframe"><b>AppCompatCheckBox</b></A><br>
+<!-- Class AppCompatCheckedTextView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatCheckedTextView" class="hiddenlink" target="rightframe"><b>AppCompatCheckedTextView</b></A><br>
+<!-- Class AppCompatDelegate -->
+<A HREF="android.support.v7.app.AppCompatDelegate.html" class="hiddenlink" target="rightframe">AppCompatDelegate</A><br>
+<!-- Class AppCompatDialogFragment -->
+<A HREF="pkg_android.support.v7.app.html#AppCompatDialogFragment" class="hiddenlink" target="rightframe"><b>AppCompatDialogFragment</b></A><br>
+<!-- Class AppCompatEditText -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatEditText" class="hiddenlink" target="rightframe"><b>AppCompatEditText</b></A><br>
+<!-- Class AppCompatImageButton -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatImageButton" class="hiddenlink" target="rightframe"><b>AppCompatImageButton</b></A><br>
+<!-- Class AppCompatImageView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatImageView" class="hiddenlink" target="rightframe"><b>AppCompatImageView</b></A><br>
+<!-- Class AppCompatMultiAutoCompleteTextView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatMultiAutoCompleteTextView" class="hiddenlink" target="rightframe"><b>AppCompatMultiAutoCompleteTextView</b></A><br>
+<!-- Class AppCompatRadioButton -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatRadioButton" class="hiddenlink" target="rightframe"><b>AppCompatRadioButton</b></A><br>
+<!-- Class AppCompatRatingBar -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatRatingBar" class="hiddenlink" target="rightframe"><b>AppCompatRatingBar</b></A><br>
+<!-- Class AppCompatResources -->
+<A HREF="android.support.v7.content.res.AppCompatResources.html" class="hiddenlink" target="rightframe">AppCompatResources</A><br>
+<!-- Class AppCompatSeekBar -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatSeekBar" class="hiddenlink" target="rightframe"><b>AppCompatSeekBar</b></A><br>
+<!-- Class AppCompatSpinner -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatSpinner" class="hiddenlink" target="rightframe"><b>AppCompatSpinner</b></A><br>
+<!-- Class AppCompatTextView -->
+<A HREF="pkg_android.support.v7.widget.html#AppCompatTextView" class="hiddenlink" target="rightframe"><b>AppCompatTextView</b></A><br>
+<!-- Class BatchingListUpdateCallback -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.util.html#BatchingListUpdateCallback" class="hiddenlink" target="rightframe"><b>BatchingListUpdateCallback</b></A><br>
+<!-- Class BottomSheetBehavior -->
+<A HREF="android.support.design.widget.BottomSheetBehavior.html" class="hiddenlink" target="rightframe">BottomSheetBehavior</A><br>
+<!-- Field BT_FOLDER_TYPE_ALBUMS -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ALBUMS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_ALBUMS</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_ARTISTS -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ARTISTS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_ARTISTS</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_GENRES -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_GENRES" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_GENRES</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_MIXED -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_MIXED" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_MIXED</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_PLAYLISTS -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_PLAYLISTS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_PLAYLISTS</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_TITLES -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_TITLES" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_TITLES</A>
+</nobr><br>
+<!-- Field BT_FOLDER_TYPE_YEARS -->
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_YEARS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_YEARS</A>
+</nobr><br>
+<!-- Class BuildCompat -->
+<A HREF="android.support.v4.os.BuildCompat.html" class="hiddenlink" target="rightframe">BuildCompat</A><br>
+<!-- Method buildMediaButtonPendingIntent -->
+<i>buildMediaButtonPendingIntent</i><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaButtonReceiver.html#android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, android.content.ComponentName, long)" class="hiddenlink" target="rightframe">type <b>
+(<code>Context, ComponentName, long</code>)</b> in android.support.v4.media.session.MediaButtonReceiver
+</A></nobr><br>
+<!-- Method buildMediaButtonPendingIntent -->
+ <nobr><A HREF="android.support.v4.media.session.MediaButtonReceiver.html#android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, long)" class="hiddenlink" target="rightframe">type <b>
+(<code>Context, long</code>)</b> in android.support.v4.media.session.MediaButtonReceiver
+</A></nobr><br>
+<!-- Class CardView -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#CardView" class="hiddenlink" target="rightframe"><b>CardView</b></A><br>
+<!-- Method clearColorFilter -->
+<nobr><A HREF="android.support.v4.graphics.drawable.DrawableCompat.html#android.support.v4.graphics.drawable.DrawableCompat.clearColorFilter_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>clearColorFilter</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method clearOnTabSelectedListeners -->
+<nobr><A HREF="android.support.design.widget.TabLayout.html#android.support.design.widget.TabLayout.clearOnTabSelectedListeners_added()" class="hiddenlink" target="rightframe"><b>clearOnTabSelectedListeners</b>
+()</A></nobr><br>
+<!-- Class CollapsingToolbarLayout -->
+<A HREF="android.support.design.widget.CollapsingToolbarLayout.html" class="hiddenlink" target="rightframe">CollapsingToolbarLayout</A><br>
+<!-- Method computeScrollVectorForPosition -->
+<i>computeScrollVectorForPosition</i><br>
+ <nobr><A HREF="android.support.v7.widget.LinearSmoothScroller.html#android.support.v7.widget.LinearSmoothScroller.computeScrollVectorForPosition_changed(int)" class="hiddenlink" target="rightframe">type
+(<code>int</code>) in android.support.v7.widget.LinearSmoothScroller
+</A></nobr><br>
+<!-- Method computeScrollVectorForPosition -->
+ <nobr><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html#android.support.v7.widget.StaggeredGridLayoutManager.computeScrollVectorForPosition_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.v7.widget.StaggeredGridLayoutManager
+</A></nobr><br>
+<!-- Class ContextCompat -->
+<i>ContextCompat</i><br>
+ <A HREF="android.support.v4.content.ContextCompat.html" class="hiddenlink" target="rightframe">android.support.v4.content</A><br>
+<!-- Constructor ContextCompat -->
+ <nobr><A HREF="android.support.v4.content.ContextCompat.html#android.support.v4.content.ContextCompat.ctor_changed()" class="hiddenlink" target="rightframe">ContextCompat
+()</A></nobr> constructor<br>
+<!-- Class CoordinatorLayout -->
+<A HREF="android.support.design.widget.CoordinatorLayout.html" class="hiddenlink" target="rightframe">CoordinatorLayout</A><br>
+<!-- Class CoordinatorLayout.Behavior -->
+<A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html" class="hiddenlink" target="rightframe">CoordinatorLayout.Behavior</A><br>
+<!-- Class CoordinatorLayout.LayoutParams -->
+<A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html" class="hiddenlink" target="rightframe">CoordinatorLayout.LayoutParams</A><br>
+<!-- Class CustomTabsIntent -->
+<A HREF="android.support.customtabs.CustomTabsIntent.html" class="hiddenlink" target="rightframe">CustomTabsIntent</A><br>
+<!-- Class CustomTabsIntent.Builder -->
+<A HREF="android.support.customtabs.CustomTabsIntent.Builder.html" class="hiddenlink" target="rightframe">CustomTabsIntent.Builder</A><br>
+<!-- Class CustomTabsSession -->
+<A HREF="android.support.customtabs.CustomTabsSession.html" class="hiddenlink" target="rightframe">CustomTabsSession</A><br>
+<!-- Class DiffUtil -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.util.html#DiffUtil" class="hiddenlink" target="rightframe"><b>DiffUtil</b></A><br>
+<!-- Class DiffUtil.Callback -->
+<A HREF="pkg_android.support.v7.util.html#DiffUtil.Callback" class="hiddenlink" target="rightframe"><b>DiffUtil.Callback</b></A><br>
+<!-- Class DiffUtil.DiffResult -->
+<A HREF="pkg_android.support.v7.util.html#DiffUtil.DiffResult" class="hiddenlink" target="rightframe"><b>DiffUtil.DiffResult</b></A><br>
+<!-- Method dispatch -->
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.dispatch_changed(android.view.KeyEvent, android.view.KeyEvent.Callback, java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">dispatch
+(<code>KeyEvent, Callback, Object, Object</code>)</A></nobr><br>
+<!-- Field dodgeInsetEdges -->
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html#android.support.design.widget.CoordinatorLayout.LayoutParams.dodgeInsetEdges" class="hiddenlink" target="rightframe">dodgeInsetEdges</A>
+</nobr><br>
+<!-- Class DrawableCompat -->
+<A HREF="android.support.v4.graphics.drawable.DrawableCompat.html" class="hiddenlink" target="rightframe">DrawableCompat</A><br>
+<!-- Field EXTRA_BT_FOLDER_TYPE -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.EXTRA_BT_FOLDER_TYPE" class="hiddenlink" target="rightframe">EXTRA_BT_FOLDER_TYPE</A>
+</nobr><br>
+<!-- Field EXTRA_ENABLE_INSTANT_APPS -->
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.EXTRA_ENABLE_INSTANT_APPS" class="hiddenlink" target="rightframe">EXTRA_ENABLE_INSTANT_APPS</A>
+</nobr><br>
+<!-- Field EXTRA_SUGGESTION_KEYWORDS -->
+<nobr><A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html#android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.EXTRA_SUGGESTION_KEYWORDS" class="hiddenlink" target="rightframe">EXTRA_SUGGESTION_KEYWORDS</A>
+</nobr><br>
+<!-- Field EXTRA_USAGE_TIME_REPORT -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT" class="hiddenlink" target="rightframe">EXTRA_USAGE_TIME_REPORT</A>
+</nobr><br>
+<!-- Field EXTRA_USAGE_TIME_REPORT_PACKAGES -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT_PACKAGES" class="hiddenlink" target="rightframe">EXTRA_USAGE_TIME_REPORT_PACKAGES</A>
+</nobr><br>
+<!-- Method findFragmentByWho -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.FragmentController.html#android.support.v4.app.FragmentController.findFragmentByWho_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>findFragmentByWho</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method findPointerIndex -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.findPointerIndex_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">findPointerIndex
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Class FloatingActionButton.Behavior -->
+<A HREF="android.support.design.widget.FloatingActionButton.Behavior.html" class="hiddenlink" target="rightframe">FloatingActionButton.Behavior</A><br>
+<!-- Class FragmentController -->
+<A HREF="android.support.v4.app.FragmentController.html" class="hiddenlink" target="rightframe">FragmentController</A><br>
+<!-- Method fromMediaItem -->
+<nobr><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html#android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItem_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromMediaItem</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Method fromMediaItemList -->
+<nobr><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html#android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItemList_added(java.util.List<?>)" class="hiddenlink" target="rightframe"><b>fromMediaItemList</b>
+(<code>List<?></code>)</A></nobr><br>
+<!-- Method fromMediaSession -->
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.html#android.support.v4.media.session.MediaSessionCompat.fromMediaSession_added(android.content.Context, java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromMediaSession</b>
+(<code>Context, Object</code>)</A></nobr><br>
+<!-- Method fromQueueItem -->
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItem_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromQueueItem</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Method fromQueueItemList -->
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItemList_added(java.util.List<?>)" class="hiddenlink" target="rightframe"><b>fromQueueItemList</b>
+(<code>List<?></code>)</A></nobr><br>
+<!-- Method getAction -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.getAction_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>getAction</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method getCompoundDrawablesRelative -->
+<nobr><A HREF="android.support.v4.widget.TextViewCompat.html#android.support.v4.widget.TextViewCompat.getCompoundDrawablesRelative_added(android.widget.TextView)" class="hiddenlink" target="rightframe"><b>getCompoundDrawablesRelative</b>
+(<code>TextView</code>)</A></nobr><br>
+<!-- Method getDependents -->
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.html#android.support.design.widget.CoordinatorLayout.getDependents_added(android.view.View)" class="hiddenlink" target="rightframe"><b>getDependents</b>
+(<code>View</code>)</A></nobr><br>
+<!-- Method getDescription -->
+<nobr><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html#android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.getDescription_changed(android.accessibilityservice.AccessibilityServiceInfo)" class="hiddenlink" target="rightframe">getDescription
+(<code>AccessibilityServiceInfo</code>)</A></nobr><br>
+<!-- Method getDominantColor -->
+<nobr><A HREF="android.support.v7.graphics.Palette.html#android.support.v7.graphics.Palette.getDominantColor_added(int)" class="hiddenlink" target="rightframe"><b>getDominantColor</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getDominantSwatch -->
+<nobr><A HREF="android.support.v7.graphics.Palette.html#android.support.v7.graphics.Palette.getDominantSwatch_added()" class="hiddenlink" target="rightframe"><b>getDominantSwatch</b>
+()</A></nobr><br>
+<!-- Method getDrawable -->
+<nobr><A HREF="android.support.v7.content.res.AppCompatResources.html#android.support.v7.content.res.AppCompatResources.getDrawable_added(android.content.Context, int)" class="hiddenlink" target="rightframe"><b>getDrawable</b>
+(<code>Context, int</code>)</A></nobr><br>
+<!-- Method getDrawerArrowDrawable -->
+<nobr><A HREF="android.support.v7.app.ActionBarDrawerToggle.html#android.support.v7.app.ActionBarDrawerToggle.getDrawerArrowDrawable_added()" class="hiddenlink" target="rightframe"><b>getDrawerArrowDrawable</b>
+()</A></nobr><br>
+<!-- Method getInsetDodgeRect -->
+<i>getInsetDodgeRect</i><br>
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, V, Rect</code>)</b> in android.support.design.widget.CoordinatorLayout.Behavior
+</A></nobr><br>
+<!-- Method getInsetDodgeRect -->
+ <nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.graphics.Rect)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, FloatingActionButton, Rect</code>)</b> in android.support.design.widget.FloatingActionButton.Behavior
+</A></nobr><br>
+<!-- Method getKeyDispatcherState -->
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.getKeyDispatcherState_changed(android.view.View)" class="hiddenlink" target="rightframe">getKeyDispatcherState
+(<code>View</code>)</A></nobr><br>
+<!-- Method getLaunchBounds -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.getLaunchBounds_added()" class="hiddenlink" target="rightframe"><b>getLaunchBounds</b>
+()</A></nobr><br>
+<!-- Method getMediaItemNumberViewFlipper -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemNumberViewFlipper_added()" class="hiddenlink" target="rightframe"><b>getMediaItemNumberViewFlipper</b>
+()</A></nobr><br>
+<!-- Method getMediaItemPausedView -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPausedView_added()" class="hiddenlink" target="rightframe"><b>getMediaItemPausedView</b>
+()</A></nobr><br>
+<!-- Method getMediaItemPlayingView -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPlayingView_added()" class="hiddenlink" target="rightframe"><b>getMediaItemPlayingView</b>
+()</A></nobr><br>
+<!-- Method getMediaPlayState -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.getMediaPlayState_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>getMediaPlayState</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Method getMovementGranularity -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.getMovementGranularity_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>getMovementGranularity</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method getOnFlingListener -->
+<nobr><A HREF="android.support.v7.widget.RecyclerView.html#android.support.v7.widget.RecyclerView.getOnFlingListener_added()" class="hiddenlink" target="rightframe"><b>getOnFlingListener</b>
+()</A></nobr><br>
+<!-- Method getOverScrollMode -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.getOverScrollMode_changed(android.view.View)" class="hiddenlink" target="rightframe">getOverScrollMode
+(<code>View</code>)</A></nobr><br>
+<!-- Method getPasswordVisibilityToggleContentDescription -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleContentDescription_added()" class="hiddenlink" target="rightframe"><b>getPasswordVisibilityToggleContentDescription</b>
+()</A></nobr><br>
+<!-- Method getPasswordVisibilityToggleDrawable -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleDrawable_added()" class="hiddenlink" target="rightframe"><b>getPasswordVisibilityToggleDrawable</b>
+()</A></nobr><br>
+<!-- Method getPointerCount -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getPointerCount_changed(android.view.MotionEvent)" class="hiddenlink" target="rightframe">getPointerCount
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method getPointerId -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getPointerId_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getPointerId
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Method getReferrer -->
+<nobr><A HREF="android.support.v4.app.ActivityCompat.html#android.support.v4.app.ActivityCompat.getReferrer_changed(android.app.Activity)" class="hiddenlink" target="rightframe">getReferrer
+(<code>Activity</code>)</A></nobr><br>
+<!-- Method getScaledPagingTouchSlop -->
+<nobr><A HREF="android.support.v4.view.ViewConfigurationCompat.html#android.support.v4.view.ViewConfigurationCompat.getScaledPagingTouchSlop_changed(android.view.ViewConfiguration)" class="hiddenlink" target="rightframe">getScaledPagingTouchSlop
+(<code>ViewConfiguration</code>)</A></nobr><br>
+<!-- Method getSelectionMode -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.getSelectionMode_added()" class="hiddenlink" target="rightframe"><b>getSelectionMode</b>
+()</A></nobr><br>
+<!-- Method getSource -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getSource_changed(android.view.MotionEvent)" class="hiddenlink" target="rightframe">getSource
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method getX -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getX_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getX
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Method getY -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getY_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getY
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Class GridLayout -->
+<A HREF="pkg_android.support.v7.widget.html#GridLayout" class="hiddenlink" target="rightframe"><b>GridLayout</b></A><br>
+<!-- Class GridLayout.Alignment -->
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.Alignment" class="hiddenlink" target="rightframe"><b>GridLayout.Alignment</b></A><br>
+<!-- Class GridLayout.LayoutParams -->
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.LayoutParams" class="hiddenlink" target="rightframe"><b>GridLayout.LayoutParams</b></A><br>
+<!-- Class GridLayout.Spec -->
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.Spec" class="hiddenlink" target="rightframe"><b>GridLayout.Spec</b></A><br>
+<!-- Field HOST_VIEW_ID -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html#android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.HOST_VIEW_ID" class="hiddenlink" target="rightframe">HOST_VIEW_ID</A>
+</nobr><br>
+<!-- Field insetEdge -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html#android.support.design.widget.CoordinatorLayout.LayoutParams.insetEdge" class="hiddenlink" target="rightframe">insetEdge</A>
+</nobr><br>
+<!-- Method isAtLeastNMR1 -->
+<nobr><A HREF="android.support.v4.os.BuildCompat.html#android.support.v4.os.BuildCompat.isAtLeastNMR1_added()" class="hiddenlink" target="rightframe"><b>isAtLeastNMR1</b>
+()</A></nobr><br>
+<!-- Method isAutoHideEnabled -->
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.isAutoHideEnabled_added()" class="hiddenlink" target="rightframe"><b>isAutoHideEnabled</b>
+()</A></nobr><br>
+<!-- Method isContextClickable -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.isContextClickable_added()" class="hiddenlink" target="rightframe"><b>isContextClickable</b>
+()</A></nobr><br>
+<!-- Method isDirty -->
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.isDirty_changed(android.support.design.widget.CoordinatorLayout, V)" class="hiddenlink" target="rightframe">isDirty
+(<code>CoordinatorLayout, V</code>)</A></nobr><br>
+<!-- Method isImmediateNotifySupported -->
+<nobr><A HREF="android.support.v17.leanback.widget.ObjectAdapter.html#android.support.v17.leanback.widget.ObjectAdapter.isImmediateNotifySupported_added()" class="hiddenlink" target="rightframe"><b>isImmediateNotifySupported</b>
+()</A></nobr><br>
+<!-- Method isImportantForAccessibility -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.isImportantForAccessibility_added(android.view.View)" class="hiddenlink" target="rightframe"><b>isImportantForAccessibility</b>
+(<code>View</code>)</A></nobr><br>
+<!-- Method isOpaque -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.isOpaque_changed(android.view.View)" class="hiddenlink" target="rightframe">isOpaque
+(<code>View</code>)</A></nobr><br>
+<!-- Method isPasswordVisibilityToggleEnabled -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.isPasswordVisibilityToggleEnabled_added()" class="hiddenlink" target="rightframe"><b>isPasswordVisibilityToggleEnabled</b>
+()</A></nobr><br>
+<!-- Method isTracking -->
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.isTracking_changed(android.view.KeyEvent)" class="hiddenlink" target="rightframe">isTracking
+(<code>KeyEvent</code>)</A></nobr><br>
+<!-- Class KeyEventCompat -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.KeyEventCompat.html" class="hiddenlink" target="rightframe">KeyEventCompat</A><br>
+<!-- Method layoutDependsOn -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.layoutDependsOn_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)" class="hiddenlink" target="rightframe"><strike>layoutDependsOn</strike>
+(<code>CoordinatorLayout, FloatingActionButton, View</code>)</A></nobr><br>
+<!-- Class LeanbackSettingsFragment -->
+<A HREF="android.support.v17.preference.LeanbackSettingsFragment.html" class="hiddenlink" target="rightframe">LeanbackSettingsFragment</A><br>
+<!-- Class LinearLayoutCompat -->
+<A HREF="pkg_android.support.v7.widget.html#LinearLayoutCompat" class="hiddenlink" target="rightframe"><b>LinearLayoutCompat</b></A><br>
+<!-- Class LinearLayoutCompat.LayoutParams -->
+<A HREF="pkg_android.support.v7.widget.html#LinearLayoutCompat.LayoutParams" class="hiddenlink" target="rightframe"><b>LinearLayoutCompat.LayoutParams</b></A><br>
+<!-- Class LinearLayoutManager -->
+<A HREF="android.support.v7.widget.LinearLayoutManager.html" class="hiddenlink" target="rightframe">LinearLayoutManager</A><br>
+<!-- Class LinearSmoothScroller -->
+<A HREF="android.support.v7.widget.LinearSmoothScroller.html" class="hiddenlink" target="rightframe">LinearSmoothScroller</A><br>
+<!-- Class LinearSnapHelper -->
+<A HREF="pkg_android.support.v7.widget.html#LinearSnapHelper" class="hiddenlink" target="rightframe"><b>LinearSnapHelper</b></A><br>
+<!-- Class ListPopupWindow -->
+<A HREF="pkg_android.support.v7.widget.html#ListPopupWindow" class="hiddenlink" target="rightframe"><b>ListPopupWindow</b></A><br>
+<!-- Class ListUpdateCallback -->
+<A HREF="pkg_android.support.v7.util.html#ListUpdateCallback" class="hiddenlink" target="rightframe"><b><i>ListUpdateCallback</i></b></A><br>
+<!-- Method loadDescription -->
+<nobr><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html#android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.loadDescription_added(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager)" class="hiddenlink" target="rightframe"><b>loadDescription</b>
+(<code>AccessibilityServiceInfo, PackageManager</code>)</A></nobr><br>
+<!-- Method makeBasic -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeBasic_added()" class="hiddenlink" target="rightframe"><b>makeBasic</b>
+()</A></nobr><br>
+<!-- Method makeClipRevealAnimation -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeClipRevealAnimation_added(android.view.View, int, int, int, int)" class="hiddenlink" target="rightframe"><b>makeClipRevealAnimation</b>
+(<code>View, int, int, int, int</code>)</A></nobr><br>
+<!-- Method makeTaskLaunchBehind -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeTaskLaunchBehind_added()" class="hiddenlink" target="rightframe"><b>makeTaskLaunchBehind</b>
+()</A></nobr><br>
+<!-- Class MediaBrowserCompat.MediaItem -->
+<A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html" class="hiddenlink" target="rightframe">MediaBrowserCompat.MediaItem</A><br>
+<!-- Class MediaBrowserServiceCompat.BrowserRoot -->
+<A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html" class="hiddenlink" target="rightframe">MediaBrowserServiceCompat.BrowserRoot</A><br>
+<!-- Class MediaButtonReceiver -->
+<A HREF="android.support.v4.media.session.MediaButtonReceiver.html" class="hiddenlink" target="rightframe">MediaButtonReceiver</A><br>
+<!-- Class MediaDescriptionCompat -->
+<A HREF="android.support.v4.media.MediaDescriptionCompat.html" class="hiddenlink" target="rightframe">MediaDescriptionCompat</A><br>
+<!-- Class MediaMetadataCompat -->
+<A HREF="android.support.v4.media.MediaMetadataCompat.html" class="hiddenlink" target="rightframe">MediaMetadataCompat</A><br>
+<!-- Class MediaSessionCompat -->
+<A HREF="android.support.v4.media.session.MediaSessionCompat.html" class="hiddenlink" target="rightframe">MediaSessionCompat</A><br>
+<!-- Class MediaSessionCompat.QueueItem -->
+<A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html" class="hiddenlink" target="rightframe">MediaSessionCompat.QueueItem</A><br>
+<!-- Field METADATA_KEY_BT_FOLDER_TYPE -->
+<nobr><A HREF="android.support.v4.media.MediaMetadataCompat.html#android.support.v4.media.MediaMetadataCompat.METADATA_KEY_BT_FOLDER_TYPE" class="hiddenlink" target="rightframe">METADATA_KEY_BT_FOLDER_TYPE</A>
+</nobr><br>
+<!-- Field METADATA_KEY_MEDIA_URI -->
+<nobr><A HREF="android.support.v4.media.MediaMetadataCompat.html#android.support.v4.media.MediaMetadataCompat.METADATA_KEY_MEDIA_URI" class="hiddenlink" target="rightframe">METADATA_KEY_MEDIA_URI</A>
+</nobr><br>
+<!-- Class MotionEventCompat -->
+<A HREF="android.support.v4.view.MotionEventCompat.html" class="hiddenlink" target="rightframe">MotionEventCompat</A><br>
+<!-- Class MultiSelectListPreferenceDialogFragmentCompat -->
+<A HREF="pkg_android.support.v7.preference.html#MultiSelectListPreferenceDialogFragmentCompat" class="hiddenlink" target="rightframe"><b>MultiSelectListPreferenceDialogFragmentCompat</b></A><br>
+<!-- Class NotificationCompat -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat" class="hiddenlink" target="rightframe"><b>NotificationCompat</b></A><br>
+<!-- Class NotificationCompat.Builder -->
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat.Builder" class="hiddenlink" target="rightframe"><b>NotificationCompat.Builder</b></A><br>
+<!-- Class NotificationCompat.MediaStyle -->
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat.MediaStyle" class="hiddenlink" target="rightframe"><b>NotificationCompat.MediaStyle</b></A><br>
+<!-- Method notifyPlayStateChanged -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.notifyPlayStateChanged_added()" class="hiddenlink" target="rightframe"><b>notifyPlayStateChanged</b>
+()</A></nobr><br>
+<!-- Class ObjectAdapter -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.leanback.widget.ObjectAdapter.html" class="hiddenlink" target="rightframe">ObjectAdapter</A><br>
+<!-- Method obtain -->
+<i>obtain</i><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.html#android.support.v4.media.session.MediaSessionCompat.obtain_changed(android.content.Context, java.lang.Object)" class="hiddenlink" target="rightframe">type
+(<code>Context, Object</code>) in android.support.v4.media.session.MediaSessionCompat
+</A></nobr><br>
+<!-- Method obtain -->
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type
+(<code>Object</code>) in android.support.v4.media.session.MediaSessionCompat.QueueItem
+</A></nobr><br>
+<!-- Method obtain -->
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain_added(int, int, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, int, boolean</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat
+</A></nobr><br>
+<!-- Method obtain -->
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.obtain_added(int, int, int, int, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, int, int, int, boolean</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat
+</A></nobr><br>
+<!-- Method obtain -->
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.obtain_added(int, float, float, float)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, float, float, float</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat
+</A></nobr><br>
+<!-- Method onAccessibilityStateChanged -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.onAccessibilityStateChanged_removed(boolean)" class="hiddenlink" target="rightframe"><strike>onAccessibilityStateChanged</strike>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method onAttachedToLayoutParams -->
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onAttachedToLayoutParams_added(android.support.design.widget.CoordinatorLayout.LayoutParams)" class="hiddenlink" target="rightframe"><b>onAttachedToLayoutParams</b>
+(<code>LayoutParams</code>)</A></nobr><br>
+<!-- Method onBindMediaPlayState -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.onBindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" class="hiddenlink" target="rightframe"><b>onBindMediaPlayState</b>
+(<code>ViewHolder</code>)</A></nobr><br>
+<!-- Method onChanged -->
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onChanged_added(int, int, java.lang.Object)" class="hiddenlink" target="rightframe"><b>onChanged</b>
+(<code>int, int, Object</code>)</A></nobr><br>
+<!-- Method onDependentViewRemoved -->
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.onDependentViewRemoved_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)" class="hiddenlink" target="rightframe"><strike>onDependentViewRemoved</strike>
+(<code>CoordinatorLayout, FloatingActionButton, View</code>)</A></nobr><br>
+<!-- Method onDetachedFromLayoutParams -->
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onDetachedFromLayoutParams_added()" class="hiddenlink" target="rightframe"><b>onDetachedFromLayoutParams</b>
+()</A></nobr><br>
+<!-- Method onInserted -->
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onInserted_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onInserted</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method onMoved -->
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onMoved_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onMoved</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method onRemoved -->
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onRemoved_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onRemoved</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method onRequestChildRectangleOnScreen -->
+<i>onRequestChildRectangleOnScreen</i><br>
+ <nobr><A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html#android.support.design.widget.AppBarLayout.ScrollingViewBehavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, android.view.View, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, View, Rect, boolean</code>)</b> in android.support.design.widget.AppBarLayout.ScrollingViewBehavior
+</A></nobr><br>
+<!-- Method onRequestChildRectangleOnScreen -->
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, V, Rect, boolean</code>)</b> in android.support.design.widget.CoordinatorLayout.Behavior
+</A></nobr><br>
+<!-- Method onSharedElementsArrived -->
+<nobr><A HREF="android.support.v4.app.SharedElementCallback.html#android.support.v4.app.SharedElementCallback.onSharedElementsArrived_added(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener)" class="hiddenlink" target="rightframe"><b>onSharedElementsArrived</b>
+(<code>List<String>, List<View>, OnSharedElementsReadyListener</code>)</A></nobr><br>
+<!-- Method onStart -->
+<nobr><A HREF="android.support.v7.app.AppCompatDelegate.html#android.support.v7.app.AppCompatDelegate.onStart_added()" class="hiddenlink" target="rightframe"><b>onStart</b>
+()</A></nobr><br>
+<!-- Method onUnbindMediaPlayState -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.onUnbindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" class="hiddenlink" target="rightframe"><b>onUnbindMediaPlayState</b>
+(<code>ViewHolder</code>)</A></nobr><br>
+<!-- Field OVER_SCROLL_ALWAYS -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_ALWAYS" class="hiddenlink" target="rightframe">OVER_SCROLL_ALWAYS</A>
+</nobr><br>
+<!-- Field OVER_SCROLL_IF_CONTENT_SCROLLS -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_IF_CONTENT_SCROLLS" class="hiddenlink" target="rightframe">OVER_SCROLL_IF_CONTENT_SCROLLS</A>
+</nobr><br>
+<!-- Field OVER_SCROLL_NEVER -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_NEVER" class="hiddenlink" target="rightframe">OVER_SCROLL_NEVER</A>
+</nobr><br>
+<!-- Class Palette -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v7.graphics.Palette.html" class="hiddenlink" target="rightframe">Palette</A><br>
+<!-- Class PatternsCompat -->
+<A HREF="pkg_android.support.v4.util.html#PatternsCompat" class="hiddenlink" target="rightframe"><b>PatternsCompat</b></A><br>
+<!-- Field PEEK_HEIGHT_AUTO -->
+<nobr><A HREF="android.support.design.widget.BottomSheetBehavior.html#android.support.design.widget.BottomSheetBehavior.PEEK_HEIGHT_AUTO" class="hiddenlink" target="rightframe">PEEK_HEIGHT_AUTO</A>
+</nobr><br>
+<!-- Field PLAY_STATE_INITIAL -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_INITIAL" class="hiddenlink" target="rightframe">PLAY_STATE_INITIAL</A>
+</nobr><br>
+<!-- Field PLAY_STATE_PAUSED -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PAUSED" class="hiddenlink" target="rightframe">PLAY_STATE_PAUSED</A>
+</nobr><br>
+<!-- Field PLAY_STATE_PLAYING -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PLAYING" class="hiddenlink" target="rightframe">PLAY_STATE_PLAYING</A>
+</nobr><br>
+<!-- Class PlaybackStateCompat -->
+<A HREF="android.support.v4.media.session.PlaybackStateCompat.html" class="hiddenlink" target="rightframe">PlaybackStateCompat</A><br>
+<!-- Class PopupMenu -->
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu" class="hiddenlink" target="rightframe"><b>PopupMenu</b></A><br>
+<!-- Class PopupMenu.OnDismissListener -->
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu.OnDismissListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnDismissListener</i></b></A><br>
+<!-- Class PopupMenu.OnMenuItemClickListener -->
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnMenuItemClickListener</i></b></A><br>
+<!-- Class PreferenceFragment -->
+<A HREF="android.support.v14.preference.PreferenceFragment.html" class="hiddenlink" target="rightframe">PreferenceFragment</A><br>
+<!-- Method prepareForDrop -->
+<nobr><A HREF="android.support.v7.widget.LinearLayoutManager.html#android.support.v7.widget.LinearLayoutManager.prepareForDrop_removed(android.view.View, android.view.View, int, int)" class="hiddenlink" target="rightframe"><strike>prepareForDrop</strike>
+(<code>View, View, int, int</code>)</A></nobr><br>
+<!-- Class RecyclerView -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v7.widget.RecyclerView.html" class="hiddenlink" target="rightframe">RecyclerView</A><br>
+<!-- Class RecyclerView.OnFlingListener -->
+<A HREF="pkg_android.support.v7.widget.html#RecyclerView.OnFlingListener" class="hiddenlink" target="rightframe"><b>RecyclerView.OnFlingListener</b></A><br>
+<!-- Class RecyclerView.SmoothScroller.ScrollVectorProvider -->
+<A HREF="pkg_android.support.v7.widget.html#RecyclerView.SmoothScroller.ScrollVectorProvider" class="hiddenlink" target="rightframe"><b><i>RecyclerView.SmoothScroller.ScrollVectorProvider</i></b></A><br>
+<!-- Method removeAccessibilityStateChangeListener -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.removeAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe">removeAccessibilityStateChangeListener
+(<code>AccessibilityManager, AccessibilityStateChangeListener</code>)</A></nobr><br>
+<!-- Method removeTouchExplorationStateChangeListener -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.removeTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" class="hiddenlink" target="rightframe"><b>removeTouchExplorationStateChangeListener</b>
+(<code>AccessibilityManager, TouchExplorationStateChangeListener</code>)</A></nobr><br>
+<!-- Method requestUsageTimeReport -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.requestUsageTimeReport_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>requestUsageTimeReport</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<!-- Class SearchView -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#SearchView" class="hiddenlink" target="rightframe"><b>SearchView</b></A><br>
+<!-- Class SearchView.OnCloseListener -->
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnCloseListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnCloseListener</i></b></A><br>
+<!-- Class SearchView.OnQueryTextListener -->
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnQueryTextListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnQueryTextListener</i></b></A><br>
+<!-- Class SearchView.OnSuggestionListener -->
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnSuggestionListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnSuggestionListener</i></b></A><br>
+<!-- Class SearchViewCompat -->
+<A HREF="android.support.v4.widget.SearchViewCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat</A><br>
+<!-- Class SearchViewCompat.OnCloseListener -->
+<A HREF="pkg_android.support.v4.widget.html#SearchViewCompat.OnCloseListener" class="hiddenlink" target="rightframe"><b><i>SearchViewCompat.OnCloseListener</i></b></A><br>
+<!-- Class SearchViewCompat.OnCloseListenerCompat -->
+<A HREF="android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat.OnCloseListenerCompat</A><br>
+<!-- Class SearchViewCompat.OnQueryTextListener -->
+<A HREF="pkg_android.support.v4.widget.html#SearchViewCompat.OnQueryTextListener" class="hiddenlink" target="rightframe"><b><i>SearchViewCompat.OnQueryTextListener</i></b></A><br>
+<!-- Class SearchViewCompat.OnQueryTextListenerCompat -->
+<A HREF="android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat.OnQueryTextListenerCompat</A><br>
+<!-- Class ServiceCompat -->
+<A HREF="android.support.v4.app.ServiceCompat.html" class="hiddenlink" target="rightframe">ServiceCompat</A><br>
+<!-- Method setAction -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.setAction_added(android.view.accessibility.AccessibilityEvent, int)" class="hiddenlink" target="rightframe"><b>setAction</b>
+(<code>AccessibilityEvent, int</code>)</A></nobr><br>
+<!-- Method setAlwaysUseBrowserUI -->
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.setAlwaysUseBrowserUI_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>setAlwaysUseBrowserUI</b>
+(<code>Intent</code>)</A></nobr><br>
+<!-- Method setAutoHideEnabled -->
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.setAutoHideEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoHideEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setCollapsedTitleTextColor -->
+<nobr><A HREF="android.support.design.widget.CollapsingToolbarLayout.html#android.support.design.widget.CollapsingToolbarLayout.setCollapsedTitleTextColor_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setCollapsedTitleTextColor</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<!-- Method setContextClickable -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.setContextClickable_added(boolean)" class="hiddenlink" target="rightframe"><b>setContextClickable</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setDrawerArrowDrawable -->
+<nobr><A HREF="android.support.v7.app.ActionBarDrawerToggle.html#android.support.v7.app.ActionBarDrawerToggle.setDrawerArrowDrawable_added(android.support.v7.graphics.drawable.DrawerArrowDrawable)" class="hiddenlink" target="rightframe"><b>setDrawerArrowDrawable</b>
+(<code>DrawerArrowDrawable</code>)</A></nobr><br>
+<!-- Method setExpandedTitleTextColor -->
+<nobr><A HREF="android.support.design.widget.CollapsingToolbarLayout.html#android.support.design.widget.CollapsingToolbarLayout.setExpandedTitleTextColor_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setExpandedTitleTextColor</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<!-- Method setInstantAppsEnabled -->
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.Builder.html#android.support.customtabs.CustomTabsIntent.Builder.setInstantAppsEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setInstantAppsEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setLaunchBounds -->
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.setLaunchBounds_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>setLaunchBounds</b>
+(<code>Rect</code>)</A></nobr><br>
+<!-- Method setMovementGranularity -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.setMovementGranularity_added(android.view.accessibility.AccessibilityEvent, int)" class="hiddenlink" target="rightframe"><b>setMovementGranularity</b>
+(<code>AccessibilityEvent, int</code>)</A></nobr><br>
+<!-- Method setOnChildScrollUpCallback -->
+<nobr><A HREF="android.support.v4.widget.SwipeRefreshLayout.html#android.support.v4.widget.SwipeRefreshLayout.setOnChildScrollUpCallback_added(android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback)" class="hiddenlink" target="rightframe"><b>setOnChildScrollUpCallback</b>
+(<code>OnChildScrollUpCallback</code>)</A></nobr><br>
+<!-- Method setOnCloseListener -->
+<nobr><A HREF="android.support.v4.widget.SearchViewCompat.html#android.support.v4.widget.SearchViewCompat.setOnCloseListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnCloseListener)" class="hiddenlink" target="rightframe">setOnCloseListener
+(<code>View, OnCloseListener</code>)</A></nobr><br>
+<!-- Method setOnFlingListener -->
+<nobr><A HREF="android.support.v7.widget.RecyclerView.html#android.support.v7.widget.RecyclerView.setOnFlingListener_added(android.support.v7.widget.RecyclerView.OnFlingListener)" class="hiddenlink" target="rightframe"><b>setOnFlingListener</b>
+(<code>OnFlingListener</code>)</A></nobr><br>
+<!-- Method setOnQueryTextListener -->
+<nobr><A HREF="android.support.v4.widget.SearchViewCompat.html#android.support.v4.widget.SearchViewCompat.setOnQueryTextListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnQueryTextListener)" class="hiddenlink" target="rightframe">setOnQueryTextListener
+(<code>View, OnQueryTextListener</code>)</A></nobr><br>
+<!-- Method setOverScrollMode -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.setOverScrollMode_changed(android.view.View, int)" class="hiddenlink" target="rightframe">setOverScrollMode
+(<code>View, int</code>)</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleContentDescription -->
+<i>setPasswordVisibilityToggleContentDescription</i><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleContentDescription -->
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type <b>
+(<code>CharSequence</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleDrawable -->
+<i>setPasswordVisibilityToggleDrawable</i><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type <b>
+(<code>Drawable</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleDrawable -->
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleEnabled -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleTintList -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintList_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleTintList</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<!-- Method setPasswordVisibilityToggleTintMode -->
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintMode_added(android.graphics.PorterDuff.Mode)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleTintMode</b>
+(<code>Mode</code>)</A></nobr><br>
+<!-- Method setSecondaryToolbarViews -->
+<nobr><A HREF="android.support.customtabs.CustomTabsSession.html#android.support.customtabs.CustomTabsSession.setSecondaryToolbarViews_added(android.widget.RemoteViews, int[], android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>setSecondaryToolbarViews</b>
+(<code>RemoteViews, int[], PendingIntent</code>)</A></nobr><br>
+<!-- Method setSelectedMediaItemNumberView -->
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.setSelectedMediaItemNumberView_added(int)" class="hiddenlink" target="rightframe"><b>setSelectedMediaItemNumberView</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setToolbarItem -->
+<nobr><A HREF="android.support.customtabs.CustomTabsSession.html#android.support.customtabs.CustomTabsSession.setToolbarItem_changed(int, android.graphics.Bitmap, java.lang.String)" class="hiddenlink" target="rightframe">setToolbarItem
+(<code>int, Bitmap, String</code>)</A></nobr><br>
+<!-- Class ShareActionProvider -->
+<A HREF="pkg_android.support.v7.widget.html#ShareActionProvider" class="hiddenlink" target="rightframe"><b>ShareActionProvider</b></A><br>
+<!-- Class ShareActionProvider.OnShareTargetSelectedListener -->
+<A HREF="pkg_android.support.v7.widget.html#ShareActionProvider.OnShareTargetSelectedListener" class="hiddenlink" target="rightframe"><b><i>ShareActionProvider.OnShareTargetSelectedListener</i></b></A><br>
+<!-- Class SharedElementCallback -->
+<A HREF="android.support.v4.app.SharedElementCallback.html" class="hiddenlink" target="rightframe">SharedElementCallback</A><br>
+<!-- Class SharedElementCallback.OnSharedElementsReadyListener -->
+<A HREF="pkg_android.support.v4.app.html#SharedElementCallback.OnSharedElementsReadyListener" class="hiddenlink" target="rightframe"><b><i>SharedElementCallback.OnSharedElementsReadyListener</i></b></A><br>
+<!-- Method shouldAlwaysUseBrowserUI -->
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.shouldAlwaysUseBrowserUI_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>shouldAlwaysUseBrowserUI</b>
+(<code>Intent</code>)</A></nobr><br>
+<!-- Class SnapHelper -->
+<A HREF="pkg_android.support.v7.widget.html#SnapHelper" class="hiddenlink" target="rightframe"><b>SnapHelper</b></A><br>
+<!-- Class SortedList.Callback -->
+<A HREF="android.support.v7.util.SortedList.Callback.html" class="hiddenlink" target="rightframe">SortedList.Callback</A><br>
+<!-- Class Space -->
+<A HREF="pkg_android.support.v7.widget.html#Space" class="hiddenlink" target="rightframe"><b>Space</b></A><br>
+<!-- Class StaggeredGridLayoutManager -->
+<A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html" class="hiddenlink" target="rightframe">StaggeredGridLayoutManager</A><br>
+<!-- Method startTracking -->
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.startTracking_changed(android.view.KeyEvent)" class="hiddenlink" target="rightframe">startTracking
+(<code>KeyEvent</code>)</A></nobr><br>
+<!-- Field STOP_FOREGROUND_DETACH -->
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.STOP_FOREGROUND_DETACH" class="hiddenlink" target="rightframe">STOP_FOREGROUND_DETACH</A>
+</nobr><br>
+<!-- Field STOP_FOREGROUND_REMOVE -->
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.STOP_FOREGROUND_REMOVE" class="hiddenlink" target="rightframe">STOP_FOREGROUND_REMOVE</A>
+</nobr><br>
+<!-- Method stopForeground -->
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.stopForeground_added(android.app.Service, int)" class="hiddenlink" target="rightframe"><b>stopForeground</b>
+(<code>Service, int</code>)</A></nobr><br>
+<!-- Class SwipeRefreshLayout -->
+<A HREF="android.support.v4.widget.SwipeRefreshLayout.html" class="hiddenlink" target="rightframe">SwipeRefreshLayout</A><br>
+<!-- Class SwipeRefreshLayout.OnChildScrollUpCallback -->
+<A HREF="pkg_android.support.v4.widget.html#SwipeRefreshLayout.OnChildScrollUpCallback" class="hiddenlink" target="rightframe"><b><i>SwipeRefreshLayout.OnChildScrollUpCallback</i></b></A><br>
+<!-- Class SwitchCompat -->
+<A HREF="pkg_android.support.v7.widget.html#SwitchCompat" class="hiddenlink" target="rightframe"><b>SwitchCompat</b></A><br>
+<!-- Class TabLayout -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.TabLayout.html" class="hiddenlink" target="rightframe">TabLayout</A><br>
+<!-- Field TAG -->
+<nobr><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html#android.support.v7.widget.StaggeredGridLayoutManager.TAG" class="hiddenlink" target="rightframe"><strike>TAG</strike></A>
+</nobr><br>
+<!-- Class TextInputLayout -->
+<A HREF="android.support.design.widget.TextInputLayout.html" class="hiddenlink" target="rightframe">TextInputLayout</A><br>
+<!-- Class TextViewCompat -->
+<A HREF="android.support.v4.widget.TextViewCompat.html" class="hiddenlink" target="rightframe">TextViewCompat</A><br>
+<!-- Class ThemedSpinnerAdapter -->
+<A HREF="pkg_android.support.v7.widget.html#ThemedSpinnerAdapter" class="hiddenlink" target="rightframe"><b><i>ThemedSpinnerAdapter</i></b></A><br>
+<!-- Class ThemedSpinnerAdapter.Helper -->
+<A HREF="pkg_android.support.v7.widget.html#ThemedSpinnerAdapter.Helper" class="hiddenlink" target="rightframe"><b>ThemedSpinnerAdapter.Helper</b></A><br>
+<!-- Method toKeyCode -->
+<nobr><A HREF="android.support.v4.media.session.PlaybackStateCompat.html#android.support.v4.media.session.PlaybackStateCompat.toKeyCode_added(long)" class="hiddenlink" target="rightframe"><b>toKeyCode</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Class Toolbar -->
+<A HREF="pkg_android.support.v7.widget.html#Toolbar" class="hiddenlink" target="rightframe"><b>Toolbar</b></A><br>
+<!-- Class Toolbar.LayoutParams -->
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.LayoutParams" class="hiddenlink" target="rightframe"><b>Toolbar.LayoutParams</b></A><br>
+<!-- Class Toolbar.OnMenuItemClickListener -->
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>Toolbar.OnMenuItemClickListener</i></b></A><br>
+<!-- Class Toolbar.SavedState -->
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.SavedState" class="hiddenlink" target="rightframe"><b>Toolbar.SavedState</b></A><br>
+<!-- Field TYPE_ASSIST_READING_CONTEXT -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_ASSIST_READING_CONTEXT" class="hiddenlink" target="rightframe">TYPE_ASSIST_READING_CONTEXT</A>
+</nobr><br>
+<!-- Field TYPE_SPLIT_SCREEN_DIVIDER -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html#android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.TYPE_SPLIT_SCREEN_DIVIDER" class="hiddenlink" target="rightframe">TYPE_SPLIT_SCREEN_DIVIDER</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_CONTEXT_CLICKED -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_VIEW_CONTEXT_CLICKED" class="hiddenlink" target="rightframe">TYPE_VIEW_CONTEXT_CLICKED</A>
+</nobr><br>
+<!-- Field TYPE_WINDOWS_CHANGED -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_WINDOWS_CHANGED" class="hiddenlink" target="rightframe">TYPE_WINDOWS_CHANGED</A>
+</nobr><br>
+<!-- Class ViewCompat -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.ViewCompat.html" class="hiddenlink" target="rightframe">ViewCompat</A><br>
+<!-- Class ViewConfigurationCompat -->
+<A HREF="android.support.v4.view.ViewConfigurationCompat.html" class="hiddenlink" target="rightframe">ViewConfigurationCompat</A><br>
+<!-- Class WindowInsetsCompat -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>WindowInsetsCompat</i><br>
+ <A HREF="android.support.v4.view.WindowInsetsCompat.html" class="hiddenlink" target="rightframe">android.support.v4.view</A><br>
+<!-- Constructor WindowInsetsCompat -->
+ <nobr><A HREF="android.support.v4.view.WindowInsetsCompat.html#android.support.v4.view.WindowInsetsCompat.ctor_added(android.support.v4.view.WindowInsetsCompat)" class="hiddenlink" target="rightframe"><b>WindowInsetsCompat</b>
+(<code>WindowInsetsCompat</code>)</A></nobr> constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_changes.html b/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_changes.html
new file mode 100644
index 0000000..854a487
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_changes.html
@@ -0,0 +1,666 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+ <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<b>Changes</b>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<!-- Class AbstractMediaItemPresenter -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html" class="hiddenlink" target="rightframe">AbstractMediaItemPresenter</A><br>
+<!-- Class AbstractMediaItemPresenter.ViewHolder -->
+<A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html" class="hiddenlink" target="rightframe">AbstractMediaItemPresenter.ViewHolder</A><br>
+<!-- Class AccessibilityEventCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html" class="hiddenlink" target="rightframe">AccessibilityEventCompat</A><br>
+<!-- Class AccessibilityManagerCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html" class="hiddenlink" target="rightframe">AccessibilityManagerCompat</A><br>
+<!-- Class AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html" class="hiddenlink" target="rightframe">AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat</A><br>
+<!-- Class AccessibilityNodeInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat</A><br>
+<!-- Class AccessibilityNodeInfoCompat.AccessibilityActionCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.AccessibilityActionCompat</A><br>
+<!-- Class AccessibilityNodeInfoCompat.CollectionInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.CollectionInfoCompat</A><br>
+<!-- Class AccessibilityNodeInfoCompat.CollectionItemInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.CollectionItemInfoCompat</A><br>
+<!-- Class AccessibilityNodeInfoCompat.RangeInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.RangeInfoCompat</A><br>
+<!-- Class AccessibilityNodeProviderCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeProviderCompat</A><br>
+<!-- Class AccessibilityServiceInfoCompat -->
+<A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfoCompat</A><br>
+<!-- Class AccessibilityWindowInfoCompat -->
+<A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfoCompat</A><br>
+<!-- Class ActionBarDrawerToggle -->
+<A HREF="android.support.v7.app.ActionBarDrawerToggle.html" class="hiddenlink" target="rightframe">ActionBarDrawerToggle</A><br>
+<!-- Class ActivityCompat -->
+<i>ActivityCompat</i><br>
+ <A HREF="android.support.v4.app.ActivityCompat.html" class="hiddenlink" target="rightframe">android.support.v4.app</A><br>
+<!-- Constructor ActivityCompat -->
+ <nobr><A HREF="android.support.v4.app.ActivityCompat.html#android.support.v4.app.ActivityCompat.ctor_changed()" class="hiddenlink" target="rightframe">ActivityCompat
+()</A></nobr> constructor<br>
+<!-- Class ActivityOptionsCompat -->
+<A HREF="android.support.v4.app.ActivityOptionsCompat.html" class="hiddenlink" target="rightframe">ActivityOptionsCompat</A><br>
+<!-- Method addAccessibilityStateChangeListener -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.addAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe">addAccessibilityStateChangeListener
+(<code>AccessibilityManager, AccessibilityStateChangeListener</code>)</A></nobr><br>
+<!-- Package android.support.customtabs -->
+<A HREF="pkg_android.support.customtabs.html" class="hiddenlink" target="rightframe">android.support.customtabs</A><br>
+<!-- Package android.support.design.widget -->
+<A HREF="pkg_android.support.design.widget.html" class="hiddenlink" target="rightframe">android.support.design.widget</A><br>
+<!-- Package android.support.v14.preference -->
+<A HREF="pkg_android.support.v14.preference.html" class="hiddenlink" target="rightframe">android.support.v14.preference</A><br>
+<!-- Package android.support.v17.leanback.widget -->
+<A HREF="pkg_android.support.v17.leanback.widget.html" class="hiddenlink" target="rightframe">android.support.v17.leanback.widget</A><br>
+<!-- Package android.support.v17.preference -->
+<A HREF="pkg_android.support.v17.preference.html" class="hiddenlink" target="rightframe">android.support.v17.preference</A><br>
+<!-- Package android.support.v4.accessibilityservice -->
+<A HREF="pkg_android.support.v4.accessibilityservice.html" class="hiddenlink" target="rightframe">android.support.v4.accessibilityservice</A><br>
+<!-- Package android.support.v4.app -->
+<A HREF="pkg_android.support.v4.app.html" class="hiddenlink" target="rightframe">android.support.v4.app</A><br>
+<!-- Package android.support.v4.content -->
+<A HREF="pkg_android.support.v4.content.html" class="hiddenlink" target="rightframe">android.support.v4.content</A><br>
+<!-- Package android.support.v4.graphics.drawable -->
+<A HREF="pkg_android.support.v4.graphics.drawable.html" class="hiddenlink" target="rightframe">android.support.v4.graphics.drawable</A><br>
+<!-- Package android.support.v4.media -->
+<A HREF="pkg_android.support.v4.media.html" class="hiddenlink" target="rightframe">android.support.v4.media</A><br>
+<!-- Package android.support.v4.media.session -->
+<A HREF="pkg_android.support.v4.media.session.html" class="hiddenlink" target="rightframe">android.support.v4.media.session</A><br>
+<!-- Package android.support.v4.os -->
+<A HREF="pkg_android.support.v4.os.html" class="hiddenlink" target="rightframe">android.support.v4.os</A><br>
+<!-- Package android.support.v4.util -->
+<A HREF="pkg_android.support.v4.util.html" class="hiddenlink" target="rightframe">android.support.v4.util</A><br>
+<!-- Package android.support.v4.view -->
+<A HREF="pkg_android.support.v4.view.html" class="hiddenlink" target="rightframe">android.support.v4.view</A><br>
+<!-- Package android.support.v4.view.accessibility -->
+<A HREF="pkg_android.support.v4.view.accessibility.html" class="hiddenlink" target="rightframe">android.support.v4.view.accessibility</A><br>
+<!-- Package android.support.v4.widget -->
+<A HREF="pkg_android.support.v4.widget.html" class="hiddenlink" target="rightframe">android.support.v4.widget</A><br>
+<!-- Package android.support.v7.app -->
+<A HREF="pkg_android.support.v7.app.html" class="hiddenlink" target="rightframe">android.support.v7.app</A><br>
+<!-- Package android.support.v7.content.res -->
+<A HREF="pkg_android.support.v7.content.res.html" class="hiddenlink" target="rightframe">android.support.v7.content.res</A><br>
+<!-- Package android.support.v7.graphics -->
+<A HREF="pkg_android.support.v7.graphics.html" class="hiddenlink" target="rightframe">android.support.v7.graphics</A><br>
+<!-- Package android.support.v7.preference -->
+<A HREF="pkg_android.support.v7.preference.html" class="hiddenlink" target="rightframe">android.support.v7.preference</A><br>
+<!-- Package android.support.v7.util -->
+<A HREF="pkg_android.support.v7.util.html" class="hiddenlink" target="rightframe">android.support.v7.util</A><br>
+<!-- Package android.support.v7.widget -->
+<A HREF="pkg_android.support.v7.widget.html" class="hiddenlink" target="rightframe">android.support.v7.widget</A><br>
+<!-- Class AppBarLayout.ScrollingViewBehavior -->
+<A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html" class="hiddenlink" target="rightframe">AppBarLayout.ScrollingViewBehavior</A><br>
+<!-- Class AppCompatDelegate -->
+<A HREF="android.support.v7.app.AppCompatDelegate.html" class="hiddenlink" target="rightframe">AppCompatDelegate</A><br>
+<!-- Class AppCompatResources -->
+<A HREF="android.support.v7.content.res.AppCompatResources.html" class="hiddenlink" target="rightframe">AppCompatResources</A><br>
+<!-- Class BottomSheetBehavior -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.BottomSheetBehavior.html" class="hiddenlink" target="rightframe">BottomSheetBehavior</A><br>
+<!-- Class BuildCompat -->
+<A HREF="android.support.v4.os.BuildCompat.html" class="hiddenlink" target="rightframe">BuildCompat</A><br>
+<!-- Class CollapsingToolbarLayout -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.CollapsingToolbarLayout.html" class="hiddenlink" target="rightframe">CollapsingToolbarLayout</A><br>
+<!-- Method computeScrollVectorForPosition -->
+<nobr><A HREF="android.support.v7.widget.LinearSmoothScroller.html#android.support.v7.widget.LinearSmoothScroller.computeScrollVectorForPosition_changed(int)" class="hiddenlink" target="rightframe">computeScrollVectorForPosition
+(<code>int</code>)</A></nobr><br>
+<!-- Class ContextCompat -->
+<i>ContextCompat</i><br>
+ <A HREF="android.support.v4.content.ContextCompat.html" class="hiddenlink" target="rightframe">android.support.v4.content</A><br>
+<!-- Constructor ContextCompat -->
+ <nobr><A HREF="android.support.v4.content.ContextCompat.html#android.support.v4.content.ContextCompat.ctor_changed()" class="hiddenlink" target="rightframe">ContextCompat
+()</A></nobr> constructor<br>
+<!-- Class CoordinatorLayout -->
+<A HREF="android.support.design.widget.CoordinatorLayout.html" class="hiddenlink" target="rightframe">CoordinatorLayout</A><br>
+<!-- Class CoordinatorLayout.Behavior -->
+<A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html" class="hiddenlink" target="rightframe">CoordinatorLayout.Behavior</A><br>
+<!-- Class CoordinatorLayout.LayoutParams -->
+<A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html" class="hiddenlink" target="rightframe">CoordinatorLayout.LayoutParams</A><br>
+<!-- Class CustomTabsIntent -->
+<A HREF="android.support.customtabs.CustomTabsIntent.html" class="hiddenlink" target="rightframe">CustomTabsIntent</A><br>
+<!-- Class CustomTabsIntent.Builder -->
+<A HREF="android.support.customtabs.CustomTabsIntent.Builder.html" class="hiddenlink" target="rightframe">CustomTabsIntent.Builder</A><br>
+<!-- Class CustomTabsSession -->
+<A HREF="android.support.customtabs.CustomTabsSession.html" class="hiddenlink" target="rightframe">CustomTabsSession</A><br>
+<!-- Method dispatch -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.dispatch_changed(android.view.KeyEvent, android.view.KeyEvent.Callback, java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">dispatch
+(<code>KeyEvent, Callback, Object, Object</code>)</A></nobr><br>
+<!-- Class DrawableCompat -->
+<A HREF="android.support.v4.graphics.drawable.DrawableCompat.html" class="hiddenlink" target="rightframe">DrawableCompat</A><br>
+<!-- Method findPointerIndex -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.findPointerIndex_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">findPointerIndex
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Class FloatingActionButton.Behavior -->
+<A HREF="android.support.design.widget.FloatingActionButton.Behavior.html" class="hiddenlink" target="rightframe">FloatingActionButton.Behavior</A><br>
+<!-- Class FragmentController -->
+<A HREF="android.support.v4.app.FragmentController.html" class="hiddenlink" target="rightframe">FragmentController</A><br>
+<!-- Method getDescription -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html#android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.getDescription_changed(android.accessibilityservice.AccessibilityServiceInfo)" class="hiddenlink" target="rightframe">getDescription
+(<code>AccessibilityServiceInfo</code>)</A></nobr><br>
+<!-- Method getKeyDispatcherState -->
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.getKeyDispatcherState_changed(android.view.View)" class="hiddenlink" target="rightframe">getKeyDispatcherState
+(<code>View</code>)</A></nobr><br>
+<!-- Method getOverScrollMode -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.getOverScrollMode_changed(android.view.View)" class="hiddenlink" target="rightframe">getOverScrollMode
+(<code>View</code>)</A></nobr><br>
+<!-- Method getPointerCount -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getPointerCount_changed(android.view.MotionEvent)" class="hiddenlink" target="rightframe">getPointerCount
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method getPointerId -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getPointerId_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getPointerId
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Method getReferrer -->
+<nobr><A HREF="android.support.v4.app.ActivityCompat.html#android.support.v4.app.ActivityCompat.getReferrer_changed(android.app.Activity)" class="hiddenlink" target="rightframe">getReferrer
+(<code>Activity</code>)</A></nobr><br>
+<!-- Method getScaledPagingTouchSlop -->
+<nobr><A HREF="android.support.v4.view.ViewConfigurationCompat.html#android.support.v4.view.ViewConfigurationCompat.getScaledPagingTouchSlop_changed(android.view.ViewConfiguration)" class="hiddenlink" target="rightframe">getScaledPagingTouchSlop
+(<code>ViewConfiguration</code>)</A></nobr><br>
+<!-- Method getSource -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getSource_changed(android.view.MotionEvent)" class="hiddenlink" target="rightframe">getSource
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method getX -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getX_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getX
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Method getY -->
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getY_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getY
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Method isDirty -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.isDirty_changed(android.support.design.widget.CoordinatorLayout, V)" class="hiddenlink" target="rightframe">isDirty
+(<code>CoordinatorLayout, V</code>)</A></nobr><br>
+<!-- Method isOpaque -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.isOpaque_changed(android.view.View)" class="hiddenlink" target="rightframe">isOpaque
+(<code>View</code>)</A></nobr><br>
+<!-- Method isTracking -->
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.isTracking_changed(android.view.KeyEvent)" class="hiddenlink" target="rightframe">isTracking
+(<code>KeyEvent</code>)</A></nobr><br>
+<!-- Class KeyEventCompat -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.KeyEventCompat.html" class="hiddenlink" target="rightframe">KeyEventCompat</A><br>
+<!-- Class LeanbackSettingsFragment -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.preference.LeanbackSettingsFragment.html" class="hiddenlink" target="rightframe">LeanbackSettingsFragment</A><br>
+<!-- Class LinearLayoutManager -->
+<A HREF="android.support.v7.widget.LinearLayoutManager.html" class="hiddenlink" target="rightframe">LinearLayoutManager</A><br>
+<!-- Class LinearSmoothScroller -->
+<A HREF="android.support.v7.widget.LinearSmoothScroller.html" class="hiddenlink" target="rightframe">LinearSmoothScroller</A><br>
+<!-- Class MediaBrowserCompat.MediaItem -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html" class="hiddenlink" target="rightframe">MediaBrowserCompat.MediaItem</A><br>
+<!-- Class MediaBrowserServiceCompat.BrowserRoot -->
+<A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html" class="hiddenlink" target="rightframe">MediaBrowserServiceCompat.BrowserRoot</A><br>
+<!-- Class MediaButtonReceiver -->
+<A HREF="android.support.v4.media.session.MediaButtonReceiver.html" class="hiddenlink" target="rightframe">MediaButtonReceiver</A><br>
+<!-- Class MediaDescriptionCompat -->
+<A HREF="android.support.v4.media.MediaDescriptionCompat.html" class="hiddenlink" target="rightframe">MediaDescriptionCompat</A><br>
+<!-- Class MediaMetadataCompat -->
+<A HREF="android.support.v4.media.MediaMetadataCompat.html" class="hiddenlink" target="rightframe">MediaMetadataCompat</A><br>
+<!-- Class MediaSessionCompat -->
+<A HREF="android.support.v4.media.session.MediaSessionCompat.html" class="hiddenlink" target="rightframe">MediaSessionCompat</A><br>
+<!-- Class MediaSessionCompat.QueueItem -->
+<A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html" class="hiddenlink" target="rightframe">MediaSessionCompat.QueueItem</A><br>
+<!-- Class MotionEventCompat -->
+<A HREF="android.support.v4.view.MotionEventCompat.html" class="hiddenlink" target="rightframe">MotionEventCompat</A><br>
+<!-- Class ObjectAdapter -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.leanback.widget.ObjectAdapter.html" class="hiddenlink" target="rightframe">ObjectAdapter</A><br>
+<!-- Method obtain -->
+<i>obtain</i><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.html#android.support.v4.media.session.MediaSessionCompat.obtain_changed(android.content.Context, java.lang.Object)" class="hiddenlink" target="rightframe">type
+(<code>Context, Object</code>) in android.support.v4.media.session.MediaSessionCompat
+</A></nobr><br>
+<!-- Method obtain -->
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type
+(<code>Object</code>) in android.support.v4.media.session.MediaSessionCompat.QueueItem
+</A></nobr><br>
+<!-- Field OVER_SCROLL_ALWAYS -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_ALWAYS" class="hiddenlink" target="rightframe">OVER_SCROLL_ALWAYS</A>
+</nobr><br>
+<!-- Field OVER_SCROLL_IF_CONTENT_SCROLLS -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_IF_CONTENT_SCROLLS" class="hiddenlink" target="rightframe">OVER_SCROLL_IF_CONTENT_SCROLLS</A>
+</nobr><br>
+<!-- Field OVER_SCROLL_NEVER -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_NEVER" class="hiddenlink" target="rightframe">OVER_SCROLL_NEVER</A>
+</nobr><br>
+<!-- Class Palette -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v7.graphics.Palette.html" class="hiddenlink" target="rightframe">Palette</A><br>
+<!-- Class PlaybackStateCompat -->
+<A HREF="android.support.v4.media.session.PlaybackStateCompat.html" class="hiddenlink" target="rightframe">PlaybackStateCompat</A><br>
+<!-- Class PreferenceFragment -->
+<A HREF="android.support.v14.preference.PreferenceFragment.html" class="hiddenlink" target="rightframe">PreferenceFragment</A><br>
+<!-- Class RecyclerView -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v7.widget.RecyclerView.html" class="hiddenlink" target="rightframe">RecyclerView</A><br>
+<!-- Method removeAccessibilityStateChangeListener -->
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.removeAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe">removeAccessibilityStateChangeListener
+(<code>AccessibilityManager, AccessibilityStateChangeListener</code>)</A></nobr><br>
+<!-- Class SearchViewCompat -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.widget.SearchViewCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat</A><br>
+<!-- Class SearchViewCompat.OnCloseListenerCompat -->
+<A HREF="android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat.OnCloseListenerCompat</A><br>
+<!-- Class SearchViewCompat.OnQueryTextListenerCompat -->
+<A HREF="android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat.OnQueryTextListenerCompat</A><br>
+<!-- Class ServiceCompat -->
+<A HREF="android.support.v4.app.ServiceCompat.html" class="hiddenlink" target="rightframe">ServiceCompat</A><br>
+<!-- Method setOnCloseListener -->
+<nobr><A HREF="android.support.v4.widget.SearchViewCompat.html#android.support.v4.widget.SearchViewCompat.setOnCloseListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnCloseListener)" class="hiddenlink" target="rightframe">setOnCloseListener
+(<code>View, OnCloseListener</code>)</A></nobr><br>
+<!-- Method setOnQueryTextListener -->
+<nobr><A HREF="android.support.v4.widget.SearchViewCompat.html#android.support.v4.widget.SearchViewCompat.setOnQueryTextListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnQueryTextListener)" class="hiddenlink" target="rightframe">setOnQueryTextListener
+(<code>View, OnQueryTextListener</code>)</A></nobr><br>
+<!-- Method setOverScrollMode -->
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.setOverScrollMode_changed(android.view.View, int)" class="hiddenlink" target="rightframe">setOverScrollMode
+(<code>View, int</code>)</A></nobr><br>
+<!-- Method setToolbarItem -->
+<nobr><A HREF="android.support.customtabs.CustomTabsSession.html#android.support.customtabs.CustomTabsSession.setToolbarItem_changed(int, android.graphics.Bitmap, java.lang.String)" class="hiddenlink" target="rightframe">setToolbarItem
+(<code>int, Bitmap, String</code>)</A></nobr><br>
+<!-- Class SharedElementCallback -->
+<A HREF="android.support.v4.app.SharedElementCallback.html" class="hiddenlink" target="rightframe">SharedElementCallback</A><br>
+<!-- Class SortedList.Callback -->
+<A HREF="android.support.v7.util.SortedList.Callback.html" class="hiddenlink" target="rightframe">SortedList.Callback</A><br>
+<!-- Class StaggeredGridLayoutManager -->
+<A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html" class="hiddenlink" target="rightframe">StaggeredGridLayoutManager</A><br>
+<!-- Method startTracking -->
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.startTracking_changed(android.view.KeyEvent)" class="hiddenlink" target="rightframe">startTracking
+(<code>KeyEvent</code>)</A></nobr><br>
+<!-- Class SwipeRefreshLayout -->
+<A HREF="android.support.v4.widget.SwipeRefreshLayout.html" class="hiddenlink" target="rightframe">SwipeRefreshLayout</A><br>
+<!-- Class TabLayout -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.TabLayout.html" class="hiddenlink" target="rightframe">TabLayout</A><br>
+<!-- Class TextInputLayout -->
+<A HREF="android.support.design.widget.TextInputLayout.html" class="hiddenlink" target="rightframe">TextInputLayout</A><br>
+<!-- Class TextViewCompat -->
+<A HREF="android.support.v4.widget.TextViewCompat.html" class="hiddenlink" target="rightframe">TextViewCompat</A><br>
+<!-- Class ViewCompat -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.ViewCompat.html" class="hiddenlink" target="rightframe">ViewCompat</A><br>
+<!-- Class ViewConfigurationCompat -->
+<A HREF="android.support.v4.view.ViewConfigurationCompat.html" class="hiddenlink" target="rightframe">ViewConfigurationCompat</A><br>
+<!-- Class WindowInsetsCompat -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.WindowInsetsCompat.html" class="hiddenlink" target="rightframe">WindowInsetsCompat</A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_removals.html b/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_removals.html
new file mode 100644
index 0000000..e6d9e07
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/alldiffs_index_removals.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+ <br>
+<b>Removals</b>
+ <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<!-- Package android.support.v7.appcompat -->
+<A NAME="A"></A>
+<A HREF="changes-summary.html#android.support.v7.appcompat" class="hiddenlink" target="rightframe"><strike>android.support.v7.appcompat</strike></A><br>
+<!-- Package android.support.v7.recyclerview -->
+<A HREF="changes-summary.html#android.support.v7.recyclerview" class="hiddenlink" target="rightframe"><strike>android.support.v7.recyclerview</strike></A><br>
+<!-- Package android.support.v8.renderscript -->
+<A HREF="changes-summary.html#android.support.v8.renderscript" class="hiddenlink" target="rightframe"><strike>android.support.v8.renderscript</strike></A><br>
+<!-- Method layoutDependsOn -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.layoutDependsOn_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)" class="hiddenlink" target="rightframe"><strike>layoutDependsOn</strike>
+(<code>CoordinatorLayout, FloatingActionButton, View</code>)</A></nobr><br>
+<!-- Method onAccessibilityStateChanged -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.onAccessibilityStateChanged_removed(boolean)" class="hiddenlink" target="rightframe"><strike>onAccessibilityStateChanged</strike>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method onDependentViewRemoved -->
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.onDependentViewRemoved_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)" class="hiddenlink" target="rightframe"><strike>onDependentViewRemoved</strike>
+(<code>CoordinatorLayout, FloatingActionButton, View</code>)</A></nobr><br>
+<!-- Method onInserted -->
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onInserted_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onInserted</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method onMoved -->
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onMoved_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onMoved</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method onRemoved -->
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onRemoved_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onRemoved</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method prepareForDrop -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v7.widget.LinearLayoutManager.html#android.support.v7.widget.LinearLayoutManager.prepareForDrop_removed(android.view.View, android.view.View, int, int)" class="hiddenlink" target="rightframe"><strike>prepareForDrop</strike>
+(<code>View, View, int, int</code>)</A></nobr><br>
+<!-- Field TAG -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html#android.support.v7.widget.StaggeredGridLayoutManager.TAG" class="hiddenlink" target="rightframe"><strike>TAG</strike></A>
+</nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.customtabs.CustomTabsIntent.Builder.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.customtabs.CustomTabsIntent.Builder.html
new file mode 100644
index 0000000..d6a9415
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.customtabs.CustomTabsIntent.Builder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.customtabs.CustomTabsIntent.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.customtabs.<A HREF="../../../../reference/android/support/customtabs/CustomTabsIntent.Builder.html" target="_top"><font size="+2"><code>CustomTabsIntent.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.customtabs.CustomTabsIntent.Builder.setInstantAppsEnabled_added(boolean)"></A>
+ <nobr><code>Builder</code> <A HREF="../../../../reference/android/support/customtabs/CustomTabsIntent.Builder.html#setInstantAppsEnabled(boolean)" target="_top"><code>setInstantAppsEnabled</code></A>(<code>boolean</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.customtabs.CustomTabsIntent.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.customtabs.CustomTabsIntent.html
new file mode 100644
index 0000000..dd0b511
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.customtabs.CustomTabsIntent.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.customtabs.CustomTabsIntent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.customtabs.<A HREF="../../../../reference/android/support/customtabs/CustomTabsIntent.html" target="_top"><font size="+2"><code>CustomTabsIntent</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.customtabs.CustomTabsIntent.setAlwaysUseBrowserUI_added(android.content.Intent)"></A>
+ <nobr><code>Intent</code> <A HREF="../../../../reference/android/support/customtabs/CustomTabsIntent.html#setAlwaysUseBrowserUI(android.content.Intent)" target="_top"><code>setAlwaysUseBrowserUI</code></A>(<code>Intent</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.customtabs.CustomTabsIntent.shouldAlwaysUseBrowserUI_added(android.content.Intent)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/customtabs/CustomTabsIntent.html#shouldAlwaysUseBrowserUI(android.content.Intent)" target="_top"><code>shouldAlwaysUseBrowserUI</code></A>(<code>Intent</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.customtabs.CustomTabsIntent.EXTRA_ENABLE_INSTANT_APPS"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/customtabs/CustomTabsIntent.html#EXTRA_ENABLE_INSTANT_APPS" target="_top"><code>EXTRA_ENABLE_INSTANT_APPS</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.customtabs.CustomTabsSession.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.customtabs.CustomTabsSession.html
new file mode 100644
index 0000000..16cac31
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.customtabs.CustomTabsSession.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.customtabs.CustomTabsSession
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.customtabs.<A HREF="../../../../reference/android/support/customtabs/CustomTabsSession.html" target="_top"><font size="+2"><code>CustomTabsSession</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.customtabs.CustomTabsSession.setSecondaryToolbarViews_added(android.widget.RemoteViews, int[], android.app.PendingIntent)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/customtabs/CustomTabsSession.html#setSecondaryToolbarViews(android.widget.RemoteViews, int[], android.app.PendingIntent)" target="_top"><code>setSecondaryToolbarViews</code></A>(<code>RemoteViews,</nobr> int[]<nobr>,</nobr> PendingIntent<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.customtabs.CustomTabsSession.setToolbarItem_changed(int, android.graphics.Bitmap, java.lang.String)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/customtabs/CustomTabsSession.html#setToolbarItem(int, android.graphics.Bitmap, java.lang.String)" target="_top"><code>setToolbarItem</code></A>(<code>int,</nobr> Bitmap<nobr>,</nobr> String<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html
new file mode 100644
index 0000000..7e1e59a4
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget.AppBarLayout.ScrollingViewBehavior
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.design.widget.<A HREF="../../../../reference/android/support/design/widget/AppBarLayout.ScrollingViewBehavior.html" target="_top"><font size="+2"><code>AppBarLayout.ScrollingViewBehavior</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, android.view.View, android.graphics.Rect, boolean)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/design/widget/AppBarLayout.ScrollingViewBehavior.html#onRequestChildRectangleOnScreen(android.support.design.widget.CoordinatorLayout, android.view.View, android.graphics.Rect, boolean)" target="_top"><code>onRequestChildRectangleOnScreen</code></A>(<code>CoordinatorLayout,</nobr> View<nobr>,</nobr> Rect<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.BottomSheetBehavior.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.BottomSheetBehavior.html
new file mode 100644
index 0000000..e98c6f3
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.BottomSheetBehavior.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget.BottomSheetBehavior
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.design.widget.<A HREF="../../../../reference/android/support/design/widget/BottomSheetBehavior.html" target="_top"><font size="+2"><code>BottomSheetBehavior</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.BottomSheetBehavior.PEEK_HEIGHT_AUTO"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/design/widget/BottomSheetBehavior.html#PEEK_HEIGHT_AUTO" target="_top"><code>PEEK_HEIGHT_AUTO</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CollapsingToolbarLayout.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CollapsingToolbarLayout.html
new file mode 100644
index 0000000..ebfdce1
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CollapsingToolbarLayout.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget.CollapsingToolbarLayout
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.design.widget.<A HREF="../../../../reference/android/support/design/widget/CollapsingToolbarLayout.html" target="_top"><font size="+2"><code>CollapsingToolbarLayout</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CollapsingToolbarLayout.setCollapsedTitleTextColor_added(android.content.res.ColorStateList)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/CollapsingToolbarLayout.html#setCollapsedTitleTextColor(android.content.res.ColorStateList)" target="_top"><code>setCollapsedTitleTextColor</code></A>(<code>ColorStateList</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CollapsingToolbarLayout.setExpandedTitleTextColor_added(android.content.res.ColorStateList)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/CollapsingToolbarLayout.html#setExpandedTitleTextColor(android.content.res.ColorStateList)" target="_top"><code>setExpandedTitleTextColor</code></A>(<code>ColorStateList</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CoordinatorLayout.Behavior.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CoordinatorLayout.Behavior.html
new file mode 100644
index 0000000..8cf6146
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CoordinatorLayout.Behavior.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget.CoordinatorLayout.Behavior
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.design.widget.<A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.Behavior.html" target="_top"><font size="+2"><code>CoordinatorLayout.Behavior</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CoordinatorLayout.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.Behavior.html#getInsetDodgeRect(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect)" target="_top"><code>getInsetDodgeRect</code></A>(<code>CoordinatorLayout,</nobr> V<nobr>,</nobr> Rect<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CoordinatorLayout.Behavior.onAttachedToLayoutParams_added(android.support.design.widget.CoordinatorLayout.LayoutParams)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.Behavior.html#onAttachedToLayoutParams(android.support.design.widget.CoordinatorLayout.LayoutParams)" target="_top"><code>onAttachedToLayoutParams</code></A>(<code>LayoutParams</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CoordinatorLayout.Behavior.onDetachedFromLayoutParams_added()"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.Behavior.html#onDetachedFromLayoutParams()" target="_top"><code>onDetachedFromLayoutParams</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CoordinatorLayout.Behavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect, boolean)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.Behavior.html#onRequestChildRectangleOnScreen(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect, boolean)" target="_top"><code>onRequestChildRectangleOnScreen</code></A>(<code>CoordinatorLayout,</nobr> V<nobr>,</nobr> Rect<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CoordinatorLayout.Behavior.isDirty_changed(android.support.design.widget.CoordinatorLayout, V)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.Behavior.html#isDirty(android.support.design.widget.CoordinatorLayout, V)" target="_top"><code>isDirty</code></A>(<code>CoordinatorLayout,</nobr> V<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CoordinatorLayout.LayoutParams.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CoordinatorLayout.LayoutParams.html
new file mode 100644
index 0000000..a36eab0
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CoordinatorLayout.LayoutParams.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget.CoordinatorLayout.LayoutParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.design.widget.<A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.LayoutParams.html" target="_top"><font size="+2"><code>CoordinatorLayout.LayoutParams</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CoordinatorLayout.LayoutParams.dodgeInsetEdges"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.LayoutParams.html#dodgeInsetEdges" target="_top"><code>dodgeInsetEdges</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CoordinatorLayout.LayoutParams.insetEdge"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.LayoutParams.html#insetEdge" target="_top"><code>insetEdge</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CoordinatorLayout.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CoordinatorLayout.html
new file mode 100644
index 0000000..4a7247a
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.CoordinatorLayout.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget.CoordinatorLayout
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.design.widget.<A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.html" target="_top"><font size="+2"><code>CoordinatorLayout</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.support.v4.view.NestedScrollingParent</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.CoordinatorLayout.getDependents_added(android.view.View)"></A>
+ <nobr><code>List<View></code> <A HREF="../../../../reference/android/support/design/widget/CoordinatorLayout.html#getDependents(android.view.View)" target="_top"><code>getDependents</code></A>(<code>View</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.FloatingActionButton.Behavior.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.FloatingActionButton.Behavior.html
new file mode 100644
index 0000000..633db38
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.FloatingActionButton.Behavior.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget.FloatingActionButton.Behavior
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.design.widget.<A HREF="../../../../reference/android/support/design/widget/FloatingActionButton.Behavior.html" target="_top"><font size="+2"><code>FloatingActionButton.Behavior</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.FloatingActionButton.Behavior.layoutDependsOn_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)"></A>
+ <nobr><code>boolean</code> layoutDependsOn(<code>CoordinatorLayout,</nobr> FloatingActionButton<nobr>,</nobr> View<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.FloatingActionButton.Behavior.onDependentViewRemoved_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)"></A>
+ <nobr><code>void</code> onDependentViewRemoved(<code>CoordinatorLayout,</nobr> FloatingActionButton<nobr>,</nobr> View<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.FloatingActionButton.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.graphics.Rect)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/design/widget/FloatingActionButton.Behavior.html#getInsetDodgeRect(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.graphics.Rect)" target="_top"><code>getInsetDodgeRect</code></A>(<code>CoordinatorLayout,</nobr> FloatingActionButton<nobr>,</nobr> Rect<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.FloatingActionButton.Behavior.isAutoHideEnabled_added()"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/design/widget/FloatingActionButton.Behavior.html#isAutoHideEnabled()" target="_top"><code>isAutoHideEnabled</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.FloatingActionButton.Behavior.setAutoHideEnabled_added(boolean)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/FloatingActionButton.Behavior.html#setAutoHideEnabled(boolean)" target="_top"><code>setAutoHideEnabled</code></A>(<code>boolean</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.TabLayout.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.TabLayout.html
new file mode 100644
index 0000000..01d4b6d
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.TabLayout.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget.TabLayout
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.design.widget.<A HREF="../../../../reference/android/support/design/widget/TabLayout.html" target="_top"><font size="+2"><code>TabLayout</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TabLayout.clearOnTabSelectedListeners_added()"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/TabLayout.html#clearOnTabSelectedListeners()" target="_top"><code>clearOnTabSelectedListeners</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.TextInputLayout.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.TextInputLayout.html
new file mode 100644
index 0000000..ecd6fd4
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.design.widget.TextInputLayout.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget.TextInputLayout
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.design.widget.<A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html" target="_top"><font size="+2"><code>TextInputLayout</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleContentDescription_added()"></A>
+ <nobr><code>CharSequence</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#getPasswordVisibilityToggleContentDescription()" target="_top"><code>getPasswordVisibilityToggleContentDescription</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleDrawable_added()"></A>
+ <nobr><code>Drawable</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#getPasswordVisibilityToggleDrawable()" target="_top"><code>getPasswordVisibilityToggleDrawable</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.isPasswordVisibilityToggleEnabled_added()"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#isPasswordVisibilityToggleEnabled()" target="_top"><code>isPasswordVisibilityToggleEnabled</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(int)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#setPasswordVisibilityToggleContentDescription(int)" target="_top"><code>setPasswordVisibilityToggleContentDescription</code></A>(<code>int</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(java.lang.CharSequence)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#setPasswordVisibilityToggleContentDescription(java.lang.CharSequence)" target="_top"><code>setPasswordVisibilityToggleContentDescription</code></A>(<code>CharSequence</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(android.graphics.drawable.Drawable)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#setPasswordVisibilityToggleDrawable(android.graphics.drawable.Drawable)" target="_top"><code>setPasswordVisibilityToggleDrawable</code></A>(<code>Drawable</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(int)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#setPasswordVisibilityToggleDrawable(int)" target="_top"><code>setPasswordVisibilityToggleDrawable</code></A>(<code>int</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleEnabled_added(boolean)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#setPasswordVisibilityToggleEnabled(boolean)" target="_top"><code>setPasswordVisibilityToggleEnabled</code></A>(<code>boolean</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintList_added(android.content.res.ColorStateList)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#setPasswordVisibilityToggleTintList(android.content.res.ColorStateList)" target="_top"><code>setPasswordVisibilityToggleTintList</code></A>(<code>ColorStateList</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintMode_added(android.graphics.PorterDuff.Mode)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/design/widget/TextInputLayout.html#setPasswordVisibilityToggleTintMode(android.graphics.PorterDuff.Mode)" target="_top"><code>setPasswordVisibilityToggleTintMode</code></A>(<code>Mode</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v14.preference.PreferenceFragment.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v14.preference.PreferenceFragment.html
new file mode 100644
index 0000000..9b31c9e
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v14.preference.PreferenceFragment.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v14.preference.PreferenceFragment
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v14.preference.<A HREF="../../../../reference/android/support/v14/preference/PreferenceFragment.html" target="_top"><font size="+2"><code>PreferenceFragment</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.support.v7.preference.DialogPreference.TargetFragment</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html
new file mode 100644
index 0000000..9df6536
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v17.leanback.widget.<A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.ViewHolder.html" target="_top"><font size="+2"><code>AbstractMediaItemPresenter.ViewHolder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemNumberViewFlipper_added()"></A>
+ <nobr><code>ViewFlipper</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.ViewHolder.html#getMediaItemNumberViewFlipper()" target="_top"><code>getMediaItemNumberViewFlipper</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPausedView_added()"></A>
+ <nobr><code>View</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.ViewHolder.html#getMediaItemPausedView()" target="_top"><code>getMediaItemPausedView</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPlayingView_added()"></A>
+ <nobr><code>View</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.ViewHolder.html#getMediaItemPlayingView()" target="_top"><code>getMediaItemPlayingView</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.notifyPlayStateChanged_added()"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.ViewHolder.html#notifyPlayStateChanged()" target="_top"><code>notifyPlayStateChanged</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.setSelectedMediaItemNumberView_added(int)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.ViewHolder.html#setSelectedMediaItemNumberView(int)" target="_top"><code>setSelectedMediaItemNumberView</code></A>(<code>int</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.leanback.widget.AbstractMediaItemPresenter.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.leanback.widget.AbstractMediaItemPresenter.html
new file mode 100644
index 0000000..16b03ad
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.leanback.widget.AbstractMediaItemPresenter.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v17.leanback.widget.AbstractMediaItemPresenter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v17.leanback.widget.<A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.html" target="_top"><font size="+2"><code>AbstractMediaItemPresenter</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.getMediaPlayState_added(java.lang.Object)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.html#getMediaPlayState(java.lang.Object)" target="_top"><code>getMediaPlayState</code></A>(<code>Object</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.onBindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.html#onBindMediaPlayState(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" target="_top"><code>onBindMediaPlayState</code></A>(<code>ViewHolder</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.onUnbindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.html#onUnbindMediaPlayState(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" target="_top"><code>onUnbindMediaPlayState</code></A>(<code>ViewHolder</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_INITIAL"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.html#PLAY_STATE_INITIAL" target="_top"><code>PLAY_STATE_INITIAL</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PAUSED"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.html#PLAY_STATE_PAUSED" target="_top"><code>PLAY_STATE_PAUSED</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PLAYING"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/AbstractMediaItemPresenter.html#PLAY_STATE_PLAYING" target="_top"><code>PLAY_STATE_PLAYING</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.leanback.widget.ObjectAdapter.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.leanback.widget.ObjectAdapter.html
new file mode 100644
index 0000000..3e3ded0
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.leanback.widget.ObjectAdapter.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v17.leanback.widget.ObjectAdapter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v17.leanback.widget.<A HREF="../../../../reference/android/support/v17/leanback/widget/ObjectAdapter.html" target="_top"><font size="+2"><code>ObjectAdapter</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget.ObjectAdapter.isImmediateNotifySupported_added()"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v17/leanback/widget/ObjectAdapter.html#isImmediateNotifySupported()" target="_top"><code>isImmediateNotifySupported</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.preference.LeanbackSettingsFragment.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.preference.LeanbackSettingsFragment.html
new file mode 100644
index 0000000..6e544651
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v17.preference.LeanbackSettingsFragment.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v17.preference.LeanbackSettingsFragment
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v17.preference.<A HREF="../../../../reference/android/support/v17/preference/LeanbackSettingsFragment.html" target="_top"><font size="+2"><code>LeanbackSettingsFragment</code></font></A>
+</H2>
+<p><font xsize="+1">Added interfaces <code>android.support.v14.preference.PreferenceFragment.OnPreferenceDisplayDialogCallback, android.support.v14.preference.PreferenceFragment.OnPreferenceStartFragmentCallback, android.support.v14.preference.PreferenceFragment.OnPreferenceStartScreenCallback</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html
new file mode 100644
index 0000000..0600e44
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.accessibilityservice.<A HREF="../../../../reference/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat.html" target="_top"><font size="+2"><code>AccessibilityServiceInfoCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.loadDescription_added(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager)"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat.html#loadDescription(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager)" target="_top"><code>loadDescription</code></A>(<code>AccessibilityServiceInfo,</nobr> PackageManager<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.getDescription_changed(android.accessibilityservice.AccessibilityServiceInfo)"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat.html#getDescription(android.accessibilityservice.AccessibilityServiceInfo)" target="_top"><code>getDescription</code></A>(<code>AccessibilityServiceInfo</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.ActivityCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.ActivityCompat.html
new file mode 100644
index 0000000..74ae6f6
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.ActivityCompat.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.app.ActivityCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.app.<A HREF="../../../../reference/android/support/v4/app/ActivityCompat.html" target="_top"><font size="+2"><code>ActivityCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityCompat.ctor_changed()"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/app/ActivityCompat.html#ActivityCompat()" target="_top"><code>ActivityCompat</code></A>() </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityCompat.getReferrer_changed(android.app.Activity)"></A>
+ <nobr><code>Uri</code> <A HREF="../../../../reference/android/support/v4/app/ActivityCompat.html#getReferrer(android.app.Activity)" target="_top"><code>getReferrer</code></A>(<code>Activity</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.ActivityOptionsCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.ActivityOptionsCompat.html
new file mode 100644
index 0000000..ce96b49
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.ActivityOptionsCompat.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.app.ActivityOptionsCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.app.<A HREF="../../../../reference/android/support/v4/app/ActivityOptionsCompat.html" target="_top"><font size="+2"><code>ActivityOptionsCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityOptionsCompat.getLaunchBounds_added()"></A>
+ <nobr><code>Rect</code> <A HREF="../../../../reference/android/support/v4/app/ActivityOptionsCompat.html#getLaunchBounds()" target="_top"><code>getLaunchBounds</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityOptionsCompat.makeBasic_added()"></A>
+ <nobr><code>ActivityOptionsCompat</code> <A HREF="../../../../reference/android/support/v4/app/ActivityOptionsCompat.html#makeBasic()" target="_top"><code>makeBasic</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityOptionsCompat.makeClipRevealAnimation_added(android.view.View, int, int, int, int)"></A>
+ <nobr><code>ActivityOptionsCompat</code> <A HREF="../../../../reference/android/support/v4/app/ActivityOptionsCompat.html#makeClipRevealAnimation(android.view.View, int, int, int, int)" target="_top"><code>makeClipRevealAnimation</code></A>(<code>View,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityOptionsCompat.makeTaskLaunchBehind_added()"></A>
+ <nobr><code>ActivityOptionsCompat</code> <A HREF="../../../../reference/android/support/v4/app/ActivityOptionsCompat.html#makeTaskLaunchBehind()" target="_top"><code>makeTaskLaunchBehind</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityOptionsCompat.requestUsageTimeReport_added(android.app.PendingIntent)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/app/ActivityOptionsCompat.html#requestUsageTimeReport(android.app.PendingIntent)" target="_top"><code>requestUsageTimeReport</code></A>(<code>PendingIntent</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityOptionsCompat.setLaunchBounds_added(android.graphics.Rect)"></A>
+ <nobr><code>ActivityOptionsCompat</code> <A HREF="../../../../reference/android/support/v4/app/ActivityOptionsCompat.html#setLaunchBounds(android.graphics.Rect)" target="_top"><code>setLaunchBounds</code></A>(<code>Rect</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/app/ActivityOptionsCompat.html#EXTRA_USAGE_TIME_REPORT" target="_top"><code>EXTRA_USAGE_TIME_REPORT</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT_PACKAGES"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/app/ActivityOptionsCompat.html#EXTRA_USAGE_TIME_REPORT_PACKAGES" target="_top"><code>EXTRA_USAGE_TIME_REPORT_PACKAGES</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.FragmentController.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.FragmentController.html
new file mode 100644
index 0000000..13b2ce1
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.FragmentController.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.app.FragmentController
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.app.<A HREF="../../../../reference/android/support/v4/app/FragmentController.html" target="_top"><font size="+2"><code>FragmentController</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.FragmentController.findFragmentByWho_added(java.lang.String)"></A>
+ <nobr><code>Fragment</code> <A HREF="../../../../reference/android/support/v4/app/FragmentController.html#findFragmentByWho(java.lang.String)" target="_top"><code>findFragmentByWho</code></A>(<code>String</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.ServiceCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.ServiceCompat.html
new file mode 100644
index 0000000..6a404eb
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.ServiceCompat.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.app.ServiceCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.app.<A HREF="../../../../reference/android/support/v4/app/ServiceCompat.html" target="_top"><font size="+2"><code>ServiceCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ServiceCompat.stopForeground_added(android.app.Service, int)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/app/ServiceCompat.html#stopForeground(android.app.Service, int)" target="_top"><code>stopForeground</code></A>(<code>Service,</nobr> int<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ServiceCompat.STOP_FOREGROUND_DETACH"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/app/ServiceCompat.html#STOP_FOREGROUND_DETACH" target="_top"><code>STOP_FOREGROUND_DETACH</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.ServiceCompat.STOP_FOREGROUND_REMOVE"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/app/ServiceCompat.html#STOP_FOREGROUND_REMOVE" target="_top"><code>STOP_FOREGROUND_REMOVE</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.SharedElementCallback.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.SharedElementCallback.html
new file mode 100644
index 0000000..1495fb4
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.app.SharedElementCallback.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.app.SharedElementCallback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.app.<A HREF="../../../../reference/android/support/v4/app/SharedElementCallback.html" target="_top"><font size="+2"><code>SharedElementCallback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app.SharedElementCallback.onSharedElementsArrived_added(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/app/SharedElementCallback.html#onSharedElementsArrived(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener)" target="_top"><code>onSharedElementsArrived</code></A>(<code>List<String>,</nobr> List<View><nobr>,</nobr> OnSharedElementsReadyListener<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.content.ContextCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.content.ContextCompat.html
new file mode 100644
index 0000000..1d6b9b1
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.content.ContextCompat.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.content.ContextCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.content.<A HREF="../../../../reference/android/support/v4/content/ContextCompat.html" target="_top"><font size="+2"><code>ContextCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.content.ContextCompat.ctor_changed()"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/content/ContextCompat.html#ContextCompat()" target="_top"><code>ContextCompat</code></A>() </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.graphics.drawable.DrawableCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.graphics.drawable.DrawableCompat.html
new file mode 100644
index 0000000..3408caa
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.graphics.drawable.DrawableCompat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.graphics.drawable.DrawableCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.graphics.drawable.<A HREF="../../../../reference/android/support/v4/graphics/drawable/DrawableCompat.html" target="_top"><font size="+2"><code>DrawableCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.graphics.drawable.DrawableCompat.clearColorFilter_added(android.graphics.drawable.Drawable)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/graphics/drawable/DrawableCompat.html#clearColorFilter(android.graphics.drawable.Drawable)" target="_top"><code>clearColorFilter</code></A>(<code>Drawable</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaBrowserCompat.MediaItem.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaBrowserCompat.MediaItem.html
new file mode 100644
index 0000000..acc16c1
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaBrowserCompat.MediaItem.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media.MediaBrowserCompat.MediaItem
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.media.<A HREF="../../../../reference/android/support/v4/media/MediaBrowserCompat.MediaItem.html" target="_top"><font size="+2"><code>MediaBrowserCompat.MediaItem</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItem_added(java.lang.Object)"></A>
+ <nobr><code>MediaItem</code> <A HREF="../../../../reference/android/support/v4/media/MediaBrowserCompat.MediaItem.html#fromMediaItem(java.lang.Object)" target="_top"><code>fromMediaItem</code></A>(<code>Object</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItemList_added(java.util.List<?>)"></A>
+ <nobr><code>List<MediaItem></code> <A HREF="../../../../reference/android/support/v4/media/MediaBrowserCompat.MediaItem.html#fromMediaItemList(java.util.List<?>)" target="_top"><code>fromMediaItemList</code></A>(<code>List<?></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html
new file mode 100644
index 0000000..7a9c73311
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.media.<A HREF="../../../../reference/android/support/v4/media/MediaBrowserServiceCompat.BrowserRoot.html" target="_top"><font size="+2"><code>MediaBrowserServiceCompat.BrowserRoot</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.EXTRA_SUGGESTION_KEYWORDS"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/media/MediaBrowserServiceCompat.BrowserRoot.html#EXTRA_SUGGESTION_KEYWORDS" target="_top"><code>EXTRA_SUGGESTION_KEYWORDS</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaDescriptionCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaDescriptionCompat.html
new file mode 100644
index 0000000..fbbaa19
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaDescriptionCompat.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media.MediaDescriptionCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.media.<A HREF="../../../../reference/android/support/v4/media/MediaDescriptionCompat.html" target="_top"><font size="+2"><code>MediaDescriptionCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ALBUMS"></A>
+ <nobr><code>long</code> <A HREF="../../../../reference/android/support/v4/media/MediaDescriptionCompat.html#BT_FOLDER_TYPE_ALBUMS" target="_top"><code>BT_FOLDER_TYPE_ALBUMS</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ARTISTS"></A>
+ <nobr><code>long</code> <A HREF="../../../../reference/android/support/v4/media/MediaDescriptionCompat.html#BT_FOLDER_TYPE_ARTISTS" target="_top"><code>BT_FOLDER_TYPE_ARTISTS</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_GENRES"></A>
+ <nobr><code>long</code> <A HREF="../../../../reference/android/support/v4/media/MediaDescriptionCompat.html#BT_FOLDER_TYPE_GENRES" target="_top"><code>BT_FOLDER_TYPE_GENRES</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_MIXED"></A>
+ <nobr><code>long</code> <A HREF="../../../../reference/android/support/v4/media/MediaDescriptionCompat.html#BT_FOLDER_TYPE_MIXED" target="_top"><code>BT_FOLDER_TYPE_MIXED</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_PLAYLISTS"></A>
+ <nobr><code>long</code> <A HREF="../../../../reference/android/support/v4/media/MediaDescriptionCompat.html#BT_FOLDER_TYPE_PLAYLISTS" target="_top"><code>BT_FOLDER_TYPE_PLAYLISTS</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_TITLES"></A>
+ <nobr><code>long</code> <A HREF="../../../../reference/android/support/v4/media/MediaDescriptionCompat.html#BT_FOLDER_TYPE_TITLES" target="_top"><code>BT_FOLDER_TYPE_TITLES</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_YEARS"></A>
+ <nobr><code>long</code> <A HREF="../../../../reference/android/support/v4/media/MediaDescriptionCompat.html#BT_FOLDER_TYPE_YEARS" target="_top"><code>BT_FOLDER_TYPE_YEARS</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaDescriptionCompat.EXTRA_BT_FOLDER_TYPE"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/media/MediaDescriptionCompat.html#EXTRA_BT_FOLDER_TYPE" target="_top"><code>EXTRA_BT_FOLDER_TYPE</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaMetadataCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaMetadataCompat.html
new file mode 100644
index 0000000..e52493b
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.MediaMetadataCompat.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media.MediaMetadataCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.media.<A HREF="../../../../reference/android/support/v4/media/MediaMetadataCompat.html" target="_top"><font size="+2"><code>MediaMetadataCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaMetadataCompat.METADATA_KEY_BT_FOLDER_TYPE"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/media/MediaMetadataCompat.html#METADATA_KEY_BT_FOLDER_TYPE" target="_top"><code>METADATA_KEY_BT_FOLDER_TYPE</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.MediaMetadataCompat.METADATA_KEY_MEDIA_URI"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/media/MediaMetadataCompat.html#METADATA_KEY_MEDIA_URI" target="_top"><code>METADATA_KEY_MEDIA_URI</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.MediaButtonReceiver.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.MediaButtonReceiver.html
new file mode 100644
index 0000000..3e2c68b
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.MediaButtonReceiver.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media.session.MediaButtonReceiver
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.media.session.<A HREF="../../../../reference/android/support/v4/media/session/MediaButtonReceiver.html" target="_top"><font size="+2"><code>MediaButtonReceiver</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, android.content.ComponentName, long)"></A>
+ <nobr><code>PendingIntent</code> <A HREF="../../../../reference/android/support/v4/media/session/MediaButtonReceiver.html#buildMediaButtonPendingIntent(android.content.Context, android.content.ComponentName, long)" target="_top"><code>buildMediaButtonPendingIntent</code></A>(<code>Context,</nobr> ComponentName<nobr>,</nobr> long<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, long)"></A>
+ <nobr><code>PendingIntent</code> <A HREF="../../../../reference/android/support/v4/media/session/MediaButtonReceiver.html#buildMediaButtonPendingIntent(android.content.Context, long)" target="_top"><code>buildMediaButtonPendingIntent</code></A>(<code>Context,</nobr> long<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.MediaSessionCompat.QueueItem.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.MediaSessionCompat.QueueItem.html
new file mode 100644
index 0000000..5ce173f
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.MediaSessionCompat.QueueItem.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media.session.MediaSessionCompat.QueueItem
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.media.session.<A HREF="../../../../reference/android/support/v4/media/session/MediaSessionCompat.QueueItem.html" target="_top"><font size="+2"><code>MediaSessionCompat.QueueItem</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItem_added(java.lang.Object)"></A>
+ <nobr><code>QueueItem</code> <A HREF="../../../../reference/android/support/v4/media/session/MediaSessionCompat.QueueItem.html#fromQueueItem(java.lang.Object)" target="_top"><code>fromQueueItem</code></A>(<code>Object</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItemList_added(java.util.List<?>)"></A>
+ <nobr><code>List<QueueItem></code> <A HREF="../../../../reference/android/support/v4/media/session/MediaSessionCompat.QueueItem.html#fromQueueItemList(java.util.List<?>)" target="_top"><code>fromQueueItemList</code></A>(<code>List<?></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain_changed(java.lang.Object)"></A>
+ <nobr><code>QueueItem</code> <A HREF="../../../../reference/android/support/v4/media/session/MediaSessionCompat.QueueItem.html#obtain(java.lang.Object)" target="_top"><code>obtain</code></A>(<code>Object</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.MediaSessionCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.MediaSessionCompat.html
new file mode 100644
index 0000000..ee71244
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.MediaSessionCompat.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media.session.MediaSessionCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.media.session.<A HREF="../../../../reference/android/support/v4/media/session/MediaSessionCompat.html" target="_top"><font size="+2"><code>MediaSessionCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.session.MediaSessionCompat.fromMediaSession_added(android.content.Context, java.lang.Object)"></A>
+ <nobr><code>MediaSessionCompat</code> <A HREF="../../../../reference/android/support/v4/media/session/MediaSessionCompat.html#fromMediaSession(android.content.Context, java.lang.Object)" target="_top"><code>fromMediaSession</code></A>(<code>Context,</nobr> Object<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.session.MediaSessionCompat.obtain_changed(android.content.Context, java.lang.Object)"></A>
+ <nobr><code>MediaSessionCompat</code> <A HREF="../../../../reference/android/support/v4/media/session/MediaSessionCompat.html#obtain(android.content.Context, java.lang.Object)" target="_top"><code>obtain</code></A>(<code>Context,</nobr> Object<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.PlaybackStateCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.PlaybackStateCompat.html
new file mode 100644
index 0000000..2c54c1d
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.media.session.PlaybackStateCompat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media.session.PlaybackStateCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.media.session.<A HREF="../../../../reference/android/support/v4/media/session/PlaybackStateCompat.html" target="_top"><font size="+2"><code>PlaybackStateCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.session.PlaybackStateCompat.toKeyCode_added(long)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/media/session/PlaybackStateCompat.html#toKeyCode(long)" target="_top"><code>toKeyCode</code></A>(<code>long</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.os.BuildCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.os.BuildCompat.html
new file mode 100644
index 0000000..eb59ddb
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.os.BuildCompat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.os.BuildCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.os.<A HREF="../../../../reference/android/support/v4/os/BuildCompat.html" target="_top"><font size="+2"><code>BuildCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.os.BuildCompat.isAtLeastNMR1_added()"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/os/BuildCompat.html#isAtLeastNMR1()" target="_top"><code>isAtLeastNMR1</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.KeyEventCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.KeyEventCompat.html
new file mode 100644
index 0000000..b5f4371
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.KeyEventCompat.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.KeyEventCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.<A HREF="../../../../reference/android/support/v4/view/KeyEventCompat.html" target="_top"><font size="+2"><code>KeyEventCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.KeyEventCompat.dispatch_changed(android.view.KeyEvent, android.view.KeyEvent.Callback, java.lang.Object, java.lang.Object)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/view/KeyEventCompat.html#dispatch(android.view.KeyEvent, android.view.KeyEvent.Callback, java.lang.Object, java.lang.Object)" target="_top"><code>dispatch</code></A>(<code>KeyEvent,</nobr> Callback<nobr>,</nobr> Object<nobr>,</nobr> Object<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.KeyEventCompat.getKeyDispatcherState_changed(android.view.View)"></A>
+ <nobr><code>Object</code> <A HREF="../../../../reference/android/support/v4/view/KeyEventCompat.html#getKeyDispatcherState(android.view.View)" target="_top"><code>getKeyDispatcherState</code></A>(<code>View</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.KeyEventCompat.isTracking_changed(android.view.KeyEvent)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/view/KeyEventCompat.html#isTracking(android.view.KeyEvent)" target="_top"><code>isTracking</code></A>(<code>KeyEvent</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.KeyEventCompat.startTracking_changed(android.view.KeyEvent)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/view/KeyEventCompat.html#startTracking(android.view.KeyEvent)" target="_top"><code>startTracking</code></A>(<code>KeyEvent</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.MotionEventCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.MotionEventCompat.html
new file mode 100644
index 0000000..9f85dab
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.MotionEventCompat.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.MotionEventCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.<A HREF="../../../../reference/android/support/v4/view/MotionEventCompat.html" target="_top"><font size="+2"><code>MotionEventCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.MotionEventCompat.findPointerIndex_changed(android.view.MotionEvent, int)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/MotionEventCompat.html#findPointerIndex(android.view.MotionEvent, int)" target="_top"><code>findPointerIndex</code></A>(<code>MotionEvent,</nobr> int<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.MotionEventCompat.getPointerCount_changed(android.view.MotionEvent)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/MotionEventCompat.html#getPointerCount(android.view.MotionEvent)" target="_top"><code>getPointerCount</code></A>(<code>MotionEvent</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.MotionEventCompat.getPointerId_changed(android.view.MotionEvent, int)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/MotionEventCompat.html#getPointerId(android.view.MotionEvent, int)" target="_top"><code>getPointerId</code></A>(<code>MotionEvent,</nobr> int<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.MotionEventCompat.getSource_changed(android.view.MotionEvent)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/MotionEventCompat.html#getSource(android.view.MotionEvent)" target="_top"><code>getSource</code></A>(<code>MotionEvent</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.MotionEventCompat.getX_changed(android.view.MotionEvent, int)"></A>
+ <nobr><code>float</code> <A HREF="../../../../reference/android/support/v4/view/MotionEventCompat.html#getX(android.view.MotionEvent, int)" target="_top"><code>getX</code></A>(<code>MotionEvent,</nobr> int<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.MotionEventCompat.getY_changed(android.view.MotionEvent, int)"></A>
+ <nobr><code>float</code> <A HREF="../../../../reference/android/support/v4/view/MotionEventCompat.html#getY(android.view.MotionEvent, int)" target="_top"><code>getY</code></A>(<code>MotionEvent,</nobr> int<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.ViewCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.ViewCompat.html
new file mode 100644
index 0000000..1b4ea0f
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.ViewCompat.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.ViewCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.<A HREF="../../../../reference/android/support/v4/view/ViewCompat.html" target="_top"><font size="+2"><code>ViewCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.ViewCompat.isImportantForAccessibility_added(android.view.View)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/view/ViewCompat.html#isImportantForAccessibility(android.view.View)" target="_top"><code>isImportantForAccessibility</code></A>(<code>View</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.ViewCompat.getOverScrollMode_changed(android.view.View)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/ViewCompat.html#getOverScrollMode(android.view.View)" target="_top"><code>getOverScrollMode</code></A>(<code>View</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.ViewCompat.isOpaque_changed(android.view.View)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/view/ViewCompat.html#isOpaque(android.view.View)" target="_top"><code>isOpaque</code></A>(<code>View</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.ViewCompat.setOverScrollMode_changed(android.view.View, int)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/view/ViewCompat.html#setOverScrollMode(android.view.View, int)" target="_top"><code>setOverScrollMode</code></A>(<code>View,</nobr> int<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.ViewCompat.OVER_SCROLL_ALWAYS"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/ViewCompat.html#OVER_SCROLL_ALWAYS" target="_top"><code>OVER_SCROLL_ALWAYS</code></font></A></nobr> </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.ViewCompat.OVER_SCROLL_IF_CONTENT_SCROLLS"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/ViewCompat.html#OVER_SCROLL_IF_CONTENT_SCROLLS" target="_top"><code>OVER_SCROLL_IF_CONTENT_SCROLLS</code></font></A></nobr> </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.ViewCompat.OVER_SCROLL_NEVER"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/ViewCompat.html#OVER_SCROLL_NEVER" target="_top"><code>OVER_SCROLL_NEVER</code></font></A></nobr> </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.ViewConfigurationCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.ViewConfigurationCompat.html
new file mode 100644
index 0000000..dcb2023
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.ViewConfigurationCompat.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.ViewConfigurationCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.<A HREF="../../../../reference/android/support/v4/view/ViewConfigurationCompat.html" target="_top"><font size="+2"><code>ViewConfigurationCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.ViewConfigurationCompat.getScaledPagingTouchSlop_changed(android.view.ViewConfiguration)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/ViewConfigurationCompat.html#getScaledPagingTouchSlop(android.view.ViewConfiguration)" target="_top"><code>getScaledPagingTouchSlop</code></A>(<code>ViewConfiguration</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.WindowInsetsCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.WindowInsetsCompat.html
new file mode 100644
index 0000000..e0f77c9
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.WindowInsetsCompat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.WindowInsetsCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.<A HREF="../../../../reference/android/support/v4/view/WindowInsetsCompat.html" target="_top"><font size="+2"><code>WindowInsetsCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.WindowInsetsCompat.ctor_added(android.support.v4.view.WindowInsetsCompat)"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/view/WindowInsetsCompat.html#WindowInsetsCompat(android.support.v4.view.WindowInsetsCompat)" target="_top"><code>WindowInsetsCompat</code></A>(<code>WindowInsetsCompat</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityEventCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityEventCompat.html
new file mode 100644
index 0000000..6ff46b8
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityEventCompat.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityEventCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityEventCompat.html" target="_top"><font size="+2"><code>AccessibilityEventCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityEventCompat.getAction_added(android.view.accessibility.AccessibilityEvent)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityEventCompat.html#getAction(android.view.accessibility.AccessibilityEvent)" target="_top"><code>getAction</code></A>(<code>AccessibilityEvent</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityEventCompat.getMovementGranularity_added(android.view.accessibility.AccessibilityEvent)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityEventCompat.html#getMovementGranularity(android.view.accessibility.AccessibilityEvent)" target="_top"><code>getMovementGranularity</code></A>(<code>AccessibilityEvent</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityEventCompat.setAction_added(android.view.accessibility.AccessibilityEvent, int)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityEventCompat.html#setAction(android.view.accessibility.AccessibilityEvent, int)" target="_top"><code>setAction</code></A>(<code>AccessibilityEvent,</nobr> int<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityEventCompat.setMovementGranularity_added(android.view.accessibility.AccessibilityEvent, int)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityEventCompat.html#setMovementGranularity(android.view.accessibility.AccessibilityEvent, int)" target="_top"><code>setMovementGranularity</code></A>(<code>AccessibilityEvent,</nobr> int<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_ASSIST_READING_CONTEXT"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityEventCompat.html#TYPE_ASSIST_READING_CONTEXT" target="_top"><code>TYPE_ASSIST_READING_CONTEXT</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_VIEW_CONTEXT_CLICKED"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityEventCompat.html#TYPE_VIEW_CONTEXT_CLICKED" target="_top"><code>TYPE_VIEW_CONTEXT_CLICKED</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_WINDOWS_CHANGED"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityEventCompat.html#TYPE_WINDOWS_CHANGED" target="_top"><code>TYPE_WINDOWS_CHANGED</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html
new file mode 100644
index 0000000..5d63b93a
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html" target="_top"><font size="+2"><code>AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener</code>.<br></font>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.onAccessibilityStateChanged_removed(boolean)"></A>
+ <nobr><code>void</code> onAccessibilityStateChanged(<code>boolean</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityManagerCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityManagerCompat.html
new file mode 100644
index 0000000..004d89e
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityManagerCompat.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityManagerCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityManagerCompat.html" target="_top"><font size="+2"><code>AccessibilityManagerCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityManagerCompat.addTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityManagerCompat.html#addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" target="_top"><code>addTouchExplorationStateChangeListener</code></A>(<code>AccessibilityManager,</nobr> TouchExplorationStateChangeListener<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityManagerCompat.removeTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityManagerCompat.html#removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" target="_top"><code>removeTouchExplorationStateChangeListener</code></A>(<code>AccessibilityManager,</nobr> TouchExplorationStateChangeListener<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityManagerCompat.addAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityManagerCompat.html#addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" target="_top"><code>addAccessibilityStateChangeListener</code></A>(<code>AccessibilityManager,</nobr> AccessibilityStateChangeListener<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from (<code>AccessibilityManager, AccessibilityStateChangeListenerCompat</code>) to (<code>AccessibilityManager, AccessibilityStateChangeListener</code>).<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityManagerCompat.removeAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityManagerCompat.html#removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" target="_top"><code>removeAccessibilityStateChangeListener</code></A>(<code>AccessibilityManager,</nobr> AccessibilityStateChangeListener<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from (<code>AccessibilityManager, AccessibilityStateChangeListenerCompat</code>) to (<code>AccessibilityManager, AccessibilityStateChangeListener</code>).<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html
new file mode 100644
index 0000000..695028b
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.AccessibilityActionCompat.html" target="_top"><font size="+2"><code>AccessibilityNodeInfoCompat.AccessibilityActionCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CONTEXT_CLICK"></A>
+ <nobr><code>AccessibilityActionCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#ACTION_CONTEXT_CLICK" target="_top"><code>ACTION_CONTEXT_CLICK</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_DOWN"></A>
+ <nobr><code>AccessibilityActionCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#ACTION_SCROLL_DOWN" target="_top"><code>ACTION_SCROLL_DOWN</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_LEFT"></A>
+ <nobr><code>AccessibilityActionCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#ACTION_SCROLL_LEFT" target="_top"><code>ACTION_SCROLL_LEFT</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_RIGHT"></A>
+ <nobr><code>AccessibilityActionCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#ACTION_SCROLL_RIGHT" target="_top"><code>ACTION_SCROLL_RIGHT</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_TO_POSITION"></A>
+ <nobr><code>AccessibilityActionCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#ACTION_SCROLL_TO_POSITION" target="_top"><code>ACTION_SCROLL_TO_POSITION</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_UP"></A>
+ <nobr><code>AccessibilityActionCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#ACTION_SCROLL_UP" target="_top"><code>ACTION_SCROLL_UP</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SET_PROGRESS"></A>
+ <nobr><code>AccessibilityActionCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#ACTION_SET_PROGRESS" target="_top"><code>ACTION_SET_PROGRESS</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SHOW_ON_SCREEN"></A>
+ <nobr><code>AccessibilityActionCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#ACTION_SHOW_ON_SCREEN" target="_top"><code>ACTION_SHOW_ON_SCREEN</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html
new file mode 100644
index 0000000..17109ec
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat.html" target="_top"><font size="+2"><code>AccessibilityNodeInfoCompat.CollectionInfoCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.getSelectionMode_added()"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat.html#getSelectionMode()" target="_top"><code>getSelectionMode</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain_added(int, int, boolean)"></A>
+ <nobr><code>CollectionInfoCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.CollectionInfoCompat.html#obtain(int, int, boolean)" target="_top"><code>obtain</code></A>(<code>int,</nobr> int<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html
new file mode 100644
index 0000000..30df540
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html" target="_top"><font size="+2"><code>AccessibilityNodeInfoCompat.CollectionItemInfoCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.obtain_added(int, int, int, int, boolean)"></A>
+ <nobr><code>CollectionItemInfoCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html#obtain(int, int, int, int, boolean)" target="_top"><code>obtain</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html
new file mode 100644
index 0000000..1d5a250
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.RangeInfoCompat.html" target="_top"><font size="+2"><code>AccessibilityNodeInfoCompat.RangeInfoCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.obtain_added(int, float, float, float)"></A>
+ <nobr><code>RangeInfoCompat</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.RangeInfoCompat.html#obtain(int, float, float, float)" target="_top"><code>obtain</code></A>(<code>int,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html
new file mode 100644
index 0000000..727576d
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.html" target="_top"><font size="+2"><code>AccessibilityNodeInfoCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.isContextClickable_added()"></A>
+ <nobr><code>boolean</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.html#isContextClickable()" target="_top"><code>isContextClickable</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.setContextClickable_added(boolean)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.html#setContextClickable(boolean)" target="_top"><code>setContextClickable</code></A>(<code>boolean</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_COLUMN_INT"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.html#ACTION_ARGUMENT_COLUMN_INT" target="_top"><code>ACTION_ARGUMENT_COLUMN_INT</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_PROGRESS_VALUE"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.html#ACTION_ARGUMENT_PROGRESS_VALUE" target="_top"><code>ACTION_ARGUMENT_PROGRESS_VALUE</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_ROW_INT"></A>
+ <nobr><code>String</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeInfoCompat.html#ACTION_ARGUMENT_ROW_INT" target="_top"><code>ACTION_ARGUMENT_ROW_INT</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html
new file mode 100644
index 0000000..101070c
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityNodeProviderCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeProviderCompat.html" target="_top"><font size="+2"><code>AccessibilityNodeProviderCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.HOST_VIEW_ID"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityNodeProviderCompat.html#HOST_VIEW_ID" target="_top"><code>HOST_VIEW_ID</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html
new file mode 100644
index 0000000..a3b8d96
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility.AccessibilityWindowInfoCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.view.accessibility.<A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityWindowInfoCompat.html" target="_top"><font size="+2"><code>AccessibilityWindowInfoCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.TYPE_SPLIT_SCREEN_DIVIDER"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityWindowInfoCompat.html#TYPE_SPLIT_SCREEN_DIVIDER" target="_top"><code>TYPE_SPLIT_SCREEN_DIVIDER</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat.html
new file mode 100644
index 0000000..cba004e
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.widget.<A HREF="../../../../reference/android/support/v4/widget/SearchViewCompat.OnCloseListenerCompat.html" target="_top"><font size="+2"><code>SearchViewCompat.OnCloseListenerCompat</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.support.v4.widget.SearchViewCompat.OnCloseListener</code>.<br></font>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat.html
new file mode 100644
index 0000000..c15d1b9
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.widget.<A HREF="../../../../reference/android/support/v4/widget/SearchViewCompat.OnQueryTextListenerCompat.html" target="_top"><font size="+2"><code>SearchViewCompat.OnQueryTextListenerCompat</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.support.v4.widget.SearchViewCompat.OnQueryTextListener</code>.<br></font>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SearchViewCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SearchViewCompat.html
new file mode 100644
index 0000000..cbb3925
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SearchViewCompat.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.widget.SearchViewCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.widget.<A HREF="../../../../reference/android/support/v4/widget/SearchViewCompat.html" target="_top"><font size="+2"><code>SearchViewCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.widget.SearchViewCompat.setOnCloseListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnCloseListener)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/widget/SearchViewCompat.html#setOnCloseListener(android.view.View, android.support.v4.widget.SearchViewCompat.OnCloseListener)" target="_top"><code>setOnCloseListener</code></A>(<code>View,</nobr> OnCloseListener<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from (<code>View, OnCloseListenerCompat</code>) to (<code>View, OnCloseListener</code>).<br>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.widget.SearchViewCompat.setOnQueryTextListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnQueryTextListener)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/widget/SearchViewCompat.html#setOnQueryTextListener(android.view.View, android.support.v4.widget.SearchViewCompat.OnQueryTextListener)" target="_top"><code>setOnQueryTextListener</code></A>(<code>View,</nobr> OnQueryTextListener<nobr><nobr></code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from (<code>View, OnQueryTextListenerCompat</code>) to (<code>View, OnQueryTextListener</code>).<br>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SwipeRefreshLayout.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SwipeRefreshLayout.html
new file mode 100644
index 0000000..77dbdf6
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.SwipeRefreshLayout.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.widget.SwipeRefreshLayout
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.widget.<A HREF="../../../../reference/android/support/v4/widget/SwipeRefreshLayout.html" target="_top"><font size="+2"><code>SwipeRefreshLayout</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.widget.SwipeRefreshLayout.setOnChildScrollUpCallback_added(android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v4/widget/SwipeRefreshLayout.html#setOnChildScrollUpCallback(android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback)" target="_top"><code>setOnChildScrollUpCallback</code></A>(<code>OnChildScrollUpCallback</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.TextViewCompat.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.TextViewCompat.html
new file mode 100644
index 0000000..a803634
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v4.widget.TextViewCompat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.widget.TextViewCompat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v4.widget.<A HREF="../../../../reference/android/support/v4/widget/TextViewCompat.html" target="_top"><font size="+2"><code>TextViewCompat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.widget.TextViewCompat.getCompoundDrawablesRelative_added(android.widget.TextView)"></A>
+ <nobr><code>Drawable[]</code> <A HREF="../../../../reference/android/support/v4/widget/TextViewCompat.html#getCompoundDrawablesRelative(android.widget.TextView)" target="_top"><code>getCompoundDrawablesRelative</code></A>(<code>TextView</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.app.ActionBarDrawerToggle.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.app.ActionBarDrawerToggle.html
new file mode 100644
index 0000000..2a864f0
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.app.ActionBarDrawerToggle.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.app.ActionBarDrawerToggle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v7.app.<A HREF="../../../../reference/android/support/v7/app/ActionBarDrawerToggle.html" target="_top"><font size="+2"><code>ActionBarDrawerToggle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.app.ActionBarDrawerToggle.getDrawerArrowDrawable_added()"></A>
+ <nobr><code>DrawerArrowDrawable</code> <A HREF="../../../../reference/android/support/v7/app/ActionBarDrawerToggle.html#getDrawerArrowDrawable()" target="_top"><code>getDrawerArrowDrawable</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.app.ActionBarDrawerToggle.setDrawerArrowDrawable_added(android.support.v7.graphics.drawable.DrawerArrowDrawable)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v7/app/ActionBarDrawerToggle.html#setDrawerArrowDrawable(android.support.v7.graphics.drawable.DrawerArrowDrawable)" target="_top"><code>setDrawerArrowDrawable</code></A>(<code>DrawerArrowDrawable</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.app.AppCompatDelegate.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.app.AppCompatDelegate.html
new file mode 100644
index 0000000..adfcabb
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.app.AppCompatDelegate.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.app.AppCompatDelegate
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v7.app.<A HREF="../../../../reference/android/support/v7/app/AppCompatDelegate.html" target="_top"><font size="+2"><code>AppCompatDelegate</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.app.AppCompatDelegate.onStart_added()"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v7/app/AppCompatDelegate.html#onStart()" target="_top"><code>onStart</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.content.res.AppCompatResources.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.content.res.AppCompatResources.html
new file mode 100644
index 0000000..e26c32b
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.content.res.AppCompatResources.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.content.res.AppCompatResources
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v7.content.res.<A HREF="../../../../reference/android/support/v7/content/res/AppCompatResources.html" target="_top"><font size="+2"><code>AppCompatResources</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.content.res.AppCompatResources.getDrawable_added(android.content.Context, int)"></A>
+ <nobr><code>Drawable</code> <A HREF="../../../../reference/android/support/v7/content/res/AppCompatResources.html#getDrawable(android.content.Context, int)" target="_top"><code>getDrawable</code></A>(<code>Context,</nobr> int<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.graphics.Palette.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.graphics.Palette.html
new file mode 100644
index 0000000..f588384
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.graphics.Palette.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.graphics.Palette
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v7.graphics.<A HREF="../../../../reference/android/support/v7/graphics/Palette.html" target="_top"><font size="+2"><code>Palette</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.graphics.Palette.getDominantColor_added(int)"></A>
+ <nobr><code>int</code> <A HREF="../../../../reference/android/support/v7/graphics/Palette.html#getDominantColor(int)" target="_top"><code>getDominantColor</code></A>(<code>int</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.graphics.Palette.getDominantSwatch_added()"></A>
+ <nobr><code>Swatch</code> <A HREF="../../../../reference/android/support/v7/graphics/Palette.html#getDominantSwatch()" target="_top"><code>getDominantSwatch</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.util.SortedList.Callback.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.util.SortedList.Callback.html
new file mode 100644
index 0000000..d2350979
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.util.SortedList.Callback.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.util.SortedList.Callback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v7.util.<A HREF="../../../../reference/android/support/v7/util/SortedList.Callback.html" target="_top"><font size="+2"><code>SortedList.Callback</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.support.v7.util.ListUpdateCallback</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.util.SortedList.Callback.onInserted_removed(int, int)"></A>
+ <nobr><code>void</code> onInserted(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.util.SortedList.Callback.onMoved_removed(int, int)"></A>
+ <nobr><code>void</code> onMoved(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.util.SortedList.Callback.onRemoved_removed(int, int)"></A>
+ <nobr><code>void</code> onRemoved(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.util.SortedList.Callback.onChanged_added(int, int, java.lang.Object)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v7/util/SortedList.Callback.html#onChanged(int, int, java.lang.Object)" target="_top"><code>onChanged</code></A>(<code>int,</nobr> int<nobr>,</nobr> Object<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.LinearLayoutManager.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.LinearLayoutManager.html
new file mode 100644
index 0000000..cf5c0f6
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.LinearLayoutManager.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.widget.LinearLayoutManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v7.widget.<A HREF="../../../../reference/android/support/v7/widget/LinearLayoutManager.html" target="_top"><font size="+2"><code>LinearLayoutManager</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.support.v7.widget.RecyclerView.SmoothScroller.ScrollVectorProvider</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.widget.LinearLayoutManager.prepareForDrop_removed(android.view.View, android.view.View, int, int)"></A>
+ <nobr><code>void</code> prepareForDrop(<code>View,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.LinearSmoothScroller.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.LinearSmoothScroller.html
new file mode 100644
index 0000000..3e13735
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.LinearSmoothScroller.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.widget.LinearSmoothScroller
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v7.widget.<A HREF="../../../../reference/android/support/v7/widget/LinearSmoothScroller.html" target="_top"><font size="+2"><code>LinearSmoothScroller</code></font></A>
+</H2>
+<p>Changed from abstract to non-abstract.
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.widget.LinearSmoothScroller.computeScrollVectorForPosition_changed(int)"></A>
+ <nobr><code>PointF</code> <A HREF="../../../../reference/android/support/v7/widget/LinearSmoothScroller.html#computeScrollVectorForPosition(int)" target="_top"><code>computeScrollVectorForPosition</code></A>(<code>int</code>) </nobr>
+ </TD>
+ <TD VALIGN="TOP" WIDTH="30%">
+Changed from abstract to non-abstract.
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.RecyclerView.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.RecyclerView.html
new file mode 100644
index 0000000..d5e36f0
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.RecyclerView.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.widget.RecyclerView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v7.widget.<A HREF="../../../../reference/android/support/v7/widget/RecyclerView.html" target="_top"><font size="+2"><code>RecyclerView</code></font></A>
+</H2>
+<p><font xsize="+1">Added interfaces <code>android.support.v4.view.NestedScrollingChild, android.support.v4.view.ScrollingView</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.widget.RecyclerView.getOnFlingListener_added()"></A>
+ <nobr><code>OnFlingListener</code> <A HREF="../../../../reference/android/support/v7/widget/RecyclerView.html#getOnFlingListener()" target="_top"><code>getOnFlingListener</code></A>()</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.widget.RecyclerView.setOnFlingListener_added(android.support.v7.widget.RecyclerView.OnFlingListener)"></A>
+ <nobr><code>void</code> <A HREF="../../../../reference/android/support/v7/widget/RecyclerView.html#setOnFlingListener(android.support.v7.widget.RecyclerView.OnFlingListener)" target="_top"><code>setOnFlingListener</code></A>(<code>OnFlingListener</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.StaggeredGridLayoutManager.html b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.StaggeredGridLayoutManager.html
new file mode 100644
index 0000000..640ef38
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/android.support.v7.widget.StaggeredGridLayoutManager.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.widget.StaggeredGridLayoutManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.support.v7.widget.<A HREF="../../../../reference/android/support/v7/widget/StaggeredGridLayoutManager.html" target="_top"><font size="+2"><code>StaggeredGridLayoutManager</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.support.v7.widget.RecyclerView.SmoothScroller.ScrollVectorProvider</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.widget.StaggeredGridLayoutManager.computeScrollVectorForPosition_added(int)"></A>
+ <nobr><code>PointF</code> <A HREF="../../../../reference/android/support/v7/widget/StaggeredGridLayoutManager.html#computeScrollVectorForPosition(int)" target="_top"><code>computeScrollVectorForPosition</code></A>(<code>int</code>)</nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.widget.StaggeredGridLayoutManager.TAG"></A>
+ <code>String</code> TAG
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/changes-summary.html b/docs/html/sdk/support_api_diff/24.2.0/changes/changes-summary.html
new file mode 100644
index 0000000..12dfb4e
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/changes-summary.html
@@ -0,0 +1,329 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Support Library API Differences Report
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<body class="gc-documentation">
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+ <div id="docTitleContainer">
+ <h1>Support Library API Differences Report</h1>
+<p>This report details the changes in the Android Support Library API between two versions.
+It shows additions, modifications, and removals for packages, classes, methods, and fields.
+The report also includes general statistics that characterize the extent and type of the differences.</p>
+<p>This report is based a comparison of the Support Library API specifications
+whose version level identifiers are given in the upper-right corner of this page. It compares a
+newer "to" version's API to an older "from" version's API, noting all changes relative to the
+older API. So, for example, API elements marked as removed are no longer present in the "to"
+API specification.</p>
+<p>To navigate the report, use the "Select a Diffs Index" and "Filter the Index"
+controls on the left. The report uses text formatting to indicate <em>interface names</em>,
+<a href= ><code>links to reference documentation</code></a>, and <a href= >links to change
+description</a>. The statistics are accessible from the "Statistics" link in the upper-right corner.</p>
+<p>For more information about the Android API and SDK,
+see the <a href="http://developer.android.com/index.html" target="_top">Android Developers site</a>.</p>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Packages" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Removed Packages</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.appcompat"></A>
+ android.support.v7.appcompat </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.recyclerview"></A>
+ android.support.v7.recyclerview </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v8.renderscript"></A>
+ android.support.v8.renderscript </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Packages" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Packages</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.transition"></A>
+ <nobr><A HREF="../../../../reference/android/support/transition/package-summary.html" target="_top"><code>android.support.transition</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.text.util"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/text/util/package-summary.html" target="_top"><code>android.support.v4.text.util</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Packages" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=3>Changed Packages</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.customtabs"></A>
+ <nobr><A HREF="pkg_android.support.customtabs.html">android.support.customtabs</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.design.widget"></A>
+ <nobr><A HREF="pkg_android.support.design.widget.html">android.support.design.widget</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v14.preference"></A>
+ <nobr><A HREF="pkg_android.support.v14.preference.html">android.support.v14.preference</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.leanback.widget"></A>
+ <nobr><A HREF="pkg_android.support.v17.leanback.widget.html">android.support.v17.leanback.widget</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v17.preference"></A>
+ <nobr><A HREF="pkg_android.support.v17.preference.html">android.support.v17.preference</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.accessibilityservice"></A>
+ <nobr><A HREF="pkg_android.support.v4.accessibilityservice.html">android.support.v4.accessibilityservice</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.app"></A>
+ <nobr><A HREF="pkg_android.support.v4.app.html">android.support.v4.app</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.content"></A>
+ <nobr><A HREF="pkg_android.support.v4.content.html">android.support.v4.content</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.graphics.drawable"></A>
+ <nobr><A HREF="pkg_android.support.v4.graphics.drawable.html">android.support.v4.graphics.drawable</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media"></A>
+ <nobr><A HREF="pkg_android.support.v4.media.html">android.support.v4.media</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.media.session"></A>
+ <nobr><A HREF="pkg_android.support.v4.media.session.html">android.support.v4.media.session</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.os"></A>
+ <nobr><A HREF="pkg_android.support.v4.os.html">android.support.v4.os</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.util"></A>
+ <nobr><A HREF="pkg_android.support.v4.util.html">android.support.v4.util</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view"></A>
+ <nobr><A HREF="pkg_android.support.v4.view.html">android.support.v4.view</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.view.accessibility"></A>
+ <nobr><A HREF="pkg_android.support.v4.view.accessibility.html">android.support.v4.view.accessibility</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v4.widget"></A>
+ <nobr><A HREF="pkg_android.support.v4.widget.html">android.support.v4.widget</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.app"></A>
+ <nobr><A HREF="pkg_android.support.v7.app.html">android.support.v7.app</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.content.res"></A>
+ <nobr><A HREF="pkg_android.support.v7.content.res.html">android.support.v7.content.res</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.graphics"></A>
+ <nobr><A HREF="pkg_android.support.v7.graphics.html">android.support.v7.graphics</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.preference"></A>
+ <nobr><A HREF="pkg_android.support.v7.preference.html">android.support.v7.preference</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.util"></A>
+ <nobr><A HREF="pkg_android.support.v7.util.html">android.support.v7.util</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="android.support.v7.widget"></A>
+ <nobr><A HREF="pkg_android.support.v7.widget.html">android.support.v7.widget</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<!-- End of API section -->
+<!-- Start of packages section -->
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_additions.html b/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_additions.html
new file mode 100644
index 0000000..f3eb2ed
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_additions.html
@@ -0,0 +1,305 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+ <br>
+<font color="#999999">Removals</font>
+ <br>
+<b>Additions</b>
+ <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v4.view.accessibility.html#AccessibilityManagerCompat.AccessibilityStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManagerCompat.AccessibilityStateChangeListener</i></b></A><br>
+<A HREF="pkg_android.support.v4.view.accessibility.html#AccessibilityManagerCompat.TouchExplorationStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManagerCompat.TouchExplorationStateChangeListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.app.html#ActionBarActivity" class="hiddenlink" target="rightframe"><b>ActionBarActivity</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView" class="hiddenlink" target="rightframe"><b>ActionMenuView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView.LayoutParams" class="hiddenlink" target="rightframe"><b>ActionMenuView.LayoutParams</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>ActionMenuView.OnMenuItemClickListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.app.html#AppCompatActivity" class="hiddenlink" target="rightframe"><b>AppCompatActivity</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatAutoCompleteTextView" class="hiddenlink" target="rightframe"><b>AppCompatAutoCompleteTextView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatButton" class="hiddenlink" target="rightframe"><b>AppCompatButton</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatCheckBox" class="hiddenlink" target="rightframe"><b>AppCompatCheckBox</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatCheckedTextView" class="hiddenlink" target="rightframe"><b>AppCompatCheckedTextView</b></A><br>
+<A HREF="pkg_android.support.v7.app.html#AppCompatDialogFragment" class="hiddenlink" target="rightframe"><b>AppCompatDialogFragment</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatEditText" class="hiddenlink" target="rightframe"><b>AppCompatEditText</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatImageButton" class="hiddenlink" target="rightframe"><b>AppCompatImageButton</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatImageView" class="hiddenlink" target="rightframe"><b>AppCompatImageView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatMultiAutoCompleteTextView" class="hiddenlink" target="rightframe"><b>AppCompatMultiAutoCompleteTextView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatRadioButton" class="hiddenlink" target="rightframe"><b>AppCompatRadioButton</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatRatingBar" class="hiddenlink" target="rightframe"><b>AppCompatRatingBar</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatSeekBar" class="hiddenlink" target="rightframe"><b>AppCompatSeekBar</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatSpinner" class="hiddenlink" target="rightframe"><b>AppCompatSpinner</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatTextView" class="hiddenlink" target="rightframe"><b>AppCompatTextView</b></A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.util.html#BatchingListUpdateCallback" class="hiddenlink" target="rightframe"><b>BatchingListUpdateCallback</b></A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#CardView" class="hiddenlink" target="rightframe"><b>CardView</b></A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.util.html#DiffUtil" class="hiddenlink" target="rightframe"><b>DiffUtil</b></A><br>
+<A HREF="pkg_android.support.v7.util.html#DiffUtil.Callback" class="hiddenlink" target="rightframe"><b>DiffUtil.Callback</b></A><br>
+<A HREF="pkg_android.support.v7.util.html#DiffUtil.DiffResult" class="hiddenlink" target="rightframe"><b>DiffUtil.DiffResult</b></A><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#GridLayout" class="hiddenlink" target="rightframe"><b>GridLayout</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.Alignment" class="hiddenlink" target="rightframe"><b>GridLayout.Alignment</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.LayoutParams" class="hiddenlink" target="rightframe"><b>GridLayout.LayoutParams</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.Spec" class="hiddenlink" target="rightframe"><b>GridLayout.Spec</b></A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#LinearLayoutCompat" class="hiddenlink" target="rightframe"><b>LinearLayoutCompat</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#LinearLayoutCompat.LayoutParams" class="hiddenlink" target="rightframe"><b>LinearLayoutCompat.LayoutParams</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#LinearSnapHelper" class="hiddenlink" target="rightframe"><b>LinearSnapHelper</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ListPopupWindow" class="hiddenlink" target="rightframe"><b>ListPopupWindow</b></A><br>
+<A HREF="pkg_android.support.v7.util.html#ListUpdateCallback" class="hiddenlink" target="rightframe"><b><i>ListUpdateCallback</i></b></A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.preference.html#MultiSelectListPreferenceDialogFragmentCompat" class="hiddenlink" target="rightframe"><b>MultiSelectListPreferenceDialogFragmentCompat</b></A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat" class="hiddenlink" target="rightframe"><b>NotificationCompat</b></A><br>
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat.Builder" class="hiddenlink" target="rightframe"><b>NotificationCompat.Builder</b></A><br>
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat.MediaStyle" class="hiddenlink" target="rightframe"><b>NotificationCompat.MediaStyle</b></A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v4.util.html#PatternsCompat" class="hiddenlink" target="rightframe"><b>PatternsCompat</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu" class="hiddenlink" target="rightframe"><b>PopupMenu</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu.OnDismissListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnDismissListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnMenuItemClickListener</i></b></A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#RecyclerView.OnFlingListener" class="hiddenlink" target="rightframe"><b>RecyclerView.OnFlingListener</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#RecyclerView.SmoothScroller.ScrollVectorProvider" class="hiddenlink" target="rightframe"><b><i>RecyclerView.SmoothScroller.ScrollVectorProvider</i></b></A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#SearchView" class="hiddenlink" target="rightframe"><b>SearchView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnCloseListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnCloseListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnQueryTextListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnQueryTextListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnSuggestionListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnSuggestionListener</i></b></A><br>
+<A HREF="pkg_android.support.v4.widget.html#SearchViewCompat.OnCloseListener" class="hiddenlink" target="rightframe"><b><i>SearchViewCompat.OnCloseListener</i></b></A><br>
+<A HREF="pkg_android.support.v4.widget.html#SearchViewCompat.OnQueryTextListener" class="hiddenlink" target="rightframe"><b><i>SearchViewCompat.OnQueryTextListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ShareActionProvider" class="hiddenlink" target="rightframe"><b>ShareActionProvider</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ShareActionProvider.OnShareTargetSelectedListener" class="hiddenlink" target="rightframe"><b><i>ShareActionProvider.OnShareTargetSelectedListener</i></b></A><br>
+<A HREF="pkg_android.support.v4.app.html#SharedElementCallback.OnSharedElementsReadyListener" class="hiddenlink" target="rightframe"><b><i>SharedElementCallback.OnSharedElementsReadyListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SnapHelper" class="hiddenlink" target="rightframe"><b>SnapHelper</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#Space" class="hiddenlink" target="rightframe"><b>Space</b></A><br>
+<A HREF="pkg_android.support.v4.widget.html#SwipeRefreshLayout.OnChildScrollUpCallback" class="hiddenlink" target="rightframe"><b><i>SwipeRefreshLayout.OnChildScrollUpCallback</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SwitchCompat" class="hiddenlink" target="rightframe"><b>SwitchCompat</b></A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#ThemedSpinnerAdapter" class="hiddenlink" target="rightframe"><b><i>ThemedSpinnerAdapter</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ThemedSpinnerAdapter.Helper" class="hiddenlink" target="rightframe"><b>ThemedSpinnerAdapter.Helper</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#Toolbar" class="hiddenlink" target="rightframe"><b>Toolbar</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.LayoutParams" class="hiddenlink" target="rightframe"><b>Toolbar.LayoutParams</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>Toolbar.OnMenuItemClickListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.SavedState" class="hiddenlink" target="rightframe"><b>Toolbar.SavedState</b></A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_all.html b/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_all.html
new file mode 100644
index 0000000..410ac8a
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_all.html
@@ -0,0 +1,528 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Classes</b>
+ <br>
+<font color="#999999">Removals</font>
+ <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html" class="hiddenlink" target="rightframe">AbstractMediaItemPresenter</A><br>
+<A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html" class="hiddenlink" target="rightframe">AbstractMediaItemPresenter.ViewHolder</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html" class="hiddenlink" target="rightframe">AccessibilityEventCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html" class="hiddenlink" target="rightframe">AccessibilityManagerCompat</A><br>
+<A HREF="pkg_android.support.v4.view.accessibility.html#AccessibilityManagerCompat.AccessibilityStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManagerCompat.AccessibilityStateChangeListener</i></b></A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html" class="hiddenlink" target="rightframe">AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat</A><br>
+<A HREF="pkg_android.support.v4.view.accessibility.html#AccessibilityManagerCompat.TouchExplorationStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManagerCompat.TouchExplorationStateChangeListener</i></b></A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.AccessibilityActionCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.CollectionInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.CollectionItemInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.RangeInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeProviderCompat</A><br>
+<A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfoCompat</A><br>
+<A HREF="pkg_android.support.v7.app.html#ActionBarActivity" class="hiddenlink" target="rightframe"><b>ActionBarActivity</b></A><br>
+<A HREF="android.support.v7.app.ActionBarDrawerToggle.html" class="hiddenlink" target="rightframe">ActionBarDrawerToggle</A><br>
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView" class="hiddenlink" target="rightframe"><b>ActionMenuView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView.LayoutParams" class="hiddenlink" target="rightframe"><b>ActionMenuView.LayoutParams</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ActionMenuView.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>ActionMenuView.OnMenuItemClickListener</i></b></A><br>
+<A HREF="android.support.v4.app.ActivityCompat.html" class="hiddenlink" target="rightframe">ActivityCompat</A><br>
+<A HREF="android.support.v4.app.ActivityOptionsCompat.html" class="hiddenlink" target="rightframe">ActivityOptionsCompat</A><br>
+<A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html" class="hiddenlink" target="rightframe">AppBarLayout.ScrollingViewBehavior</A><br>
+<A HREF="pkg_android.support.v7.app.html#AppCompatActivity" class="hiddenlink" target="rightframe"><b>AppCompatActivity</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatAutoCompleteTextView" class="hiddenlink" target="rightframe"><b>AppCompatAutoCompleteTextView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatButton" class="hiddenlink" target="rightframe"><b>AppCompatButton</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatCheckBox" class="hiddenlink" target="rightframe"><b>AppCompatCheckBox</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatCheckedTextView" class="hiddenlink" target="rightframe"><b>AppCompatCheckedTextView</b></A><br>
+<A HREF="android.support.v7.app.AppCompatDelegate.html" class="hiddenlink" target="rightframe">AppCompatDelegate</A><br>
+<A HREF="pkg_android.support.v7.app.html#AppCompatDialogFragment" class="hiddenlink" target="rightframe"><b>AppCompatDialogFragment</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatEditText" class="hiddenlink" target="rightframe"><b>AppCompatEditText</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatImageButton" class="hiddenlink" target="rightframe"><b>AppCompatImageButton</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatImageView" class="hiddenlink" target="rightframe"><b>AppCompatImageView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatMultiAutoCompleteTextView" class="hiddenlink" target="rightframe"><b>AppCompatMultiAutoCompleteTextView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatRadioButton" class="hiddenlink" target="rightframe"><b>AppCompatRadioButton</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatRatingBar" class="hiddenlink" target="rightframe"><b>AppCompatRatingBar</b></A><br>
+<A HREF="android.support.v7.content.res.AppCompatResources.html" class="hiddenlink" target="rightframe">AppCompatResources</A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatSeekBar" class="hiddenlink" target="rightframe"><b>AppCompatSeekBar</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatSpinner" class="hiddenlink" target="rightframe"><b>AppCompatSpinner</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#AppCompatTextView" class="hiddenlink" target="rightframe"><b>AppCompatTextView</b></A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.util.html#BatchingListUpdateCallback" class="hiddenlink" target="rightframe"><b>BatchingListUpdateCallback</b></A><br>
+<A HREF="android.support.design.widget.BottomSheetBehavior.html" class="hiddenlink" target="rightframe">BottomSheetBehavior</A><br>
+<A HREF="android.support.v4.os.BuildCompat.html" class="hiddenlink" target="rightframe">BuildCompat</A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#CardView" class="hiddenlink" target="rightframe"><b>CardView</b></A><br>
+<A HREF="android.support.design.widget.CollapsingToolbarLayout.html" class="hiddenlink" target="rightframe">CollapsingToolbarLayout</A><br>
+<A HREF="android.support.v4.content.ContextCompat.html" class="hiddenlink" target="rightframe">ContextCompat</A><br>
+<A HREF="android.support.design.widget.CoordinatorLayout.html" class="hiddenlink" target="rightframe">CoordinatorLayout</A><br>
+<A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html" class="hiddenlink" target="rightframe">CoordinatorLayout.Behavior</A><br>
+<A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html" class="hiddenlink" target="rightframe">CoordinatorLayout.LayoutParams</A><br>
+<A HREF="android.support.customtabs.CustomTabsIntent.html" class="hiddenlink" target="rightframe">CustomTabsIntent</A><br>
+<A HREF="android.support.customtabs.CustomTabsIntent.Builder.html" class="hiddenlink" target="rightframe">CustomTabsIntent.Builder</A><br>
+<A HREF="android.support.customtabs.CustomTabsSession.html" class="hiddenlink" target="rightframe">CustomTabsSession</A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.util.html#DiffUtil" class="hiddenlink" target="rightframe"><b>DiffUtil</b></A><br>
+<A HREF="pkg_android.support.v7.util.html#DiffUtil.Callback" class="hiddenlink" target="rightframe"><b>DiffUtil.Callback</b></A><br>
+<A HREF="pkg_android.support.v7.util.html#DiffUtil.DiffResult" class="hiddenlink" target="rightframe"><b>DiffUtil.DiffResult</b></A><br>
+<A HREF="android.support.v4.graphics.drawable.DrawableCompat.html" class="hiddenlink" target="rightframe">DrawableCompat</A><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.FloatingActionButton.Behavior.html" class="hiddenlink" target="rightframe">FloatingActionButton.Behavior</A><br>
+<A HREF="android.support.v4.app.FragmentController.html" class="hiddenlink" target="rightframe">FragmentController</A><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#GridLayout" class="hiddenlink" target="rightframe"><b>GridLayout</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.Alignment" class="hiddenlink" target="rightframe"><b>GridLayout.Alignment</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.LayoutParams" class="hiddenlink" target="rightframe"><b>GridLayout.LayoutParams</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#GridLayout.Spec" class="hiddenlink" target="rightframe"><b>GridLayout.Spec</b></A><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.KeyEventCompat.html" class="hiddenlink" target="rightframe">KeyEventCompat</A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.preference.LeanbackSettingsFragment.html" class="hiddenlink" target="rightframe">LeanbackSettingsFragment</A><br>
+<A HREF="pkg_android.support.v7.widget.html#LinearLayoutCompat" class="hiddenlink" target="rightframe"><b>LinearLayoutCompat</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#LinearLayoutCompat.LayoutParams" class="hiddenlink" target="rightframe"><b>LinearLayoutCompat.LayoutParams</b></A><br>
+<A HREF="android.support.v7.widget.LinearLayoutManager.html" class="hiddenlink" target="rightframe">LinearLayoutManager</A><br>
+<A HREF="android.support.v7.widget.LinearSmoothScroller.html" class="hiddenlink" target="rightframe">LinearSmoothScroller</A><br>
+<A HREF="pkg_android.support.v7.widget.html#LinearSnapHelper" class="hiddenlink" target="rightframe"><b>LinearSnapHelper</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ListPopupWindow" class="hiddenlink" target="rightframe"><b>ListPopupWindow</b></A><br>
+<A HREF="pkg_android.support.v7.util.html#ListUpdateCallback" class="hiddenlink" target="rightframe"><b><i>ListUpdateCallback</i></b></A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html" class="hiddenlink" target="rightframe">MediaBrowserCompat.MediaItem</A><br>
+<A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html" class="hiddenlink" target="rightframe">MediaBrowserServiceCompat.BrowserRoot</A><br>
+<A HREF="android.support.v4.media.session.MediaButtonReceiver.html" class="hiddenlink" target="rightframe">MediaButtonReceiver</A><br>
+<A HREF="android.support.v4.media.MediaDescriptionCompat.html" class="hiddenlink" target="rightframe">MediaDescriptionCompat</A><br>
+<A HREF="android.support.v4.media.MediaMetadataCompat.html" class="hiddenlink" target="rightframe">MediaMetadataCompat</A><br>
+<A HREF="android.support.v4.media.session.MediaSessionCompat.html" class="hiddenlink" target="rightframe">MediaSessionCompat</A><br>
+<A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html" class="hiddenlink" target="rightframe">MediaSessionCompat.QueueItem</A><br>
+<A HREF="android.support.v4.view.MotionEventCompat.html" class="hiddenlink" target="rightframe">MotionEventCompat</A><br>
+<A HREF="pkg_android.support.v7.preference.html#MultiSelectListPreferenceDialogFragmentCompat" class="hiddenlink" target="rightframe"><b>MultiSelectListPreferenceDialogFragmentCompat</b></A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat" class="hiddenlink" target="rightframe"><b>NotificationCompat</b></A><br>
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat.Builder" class="hiddenlink" target="rightframe"><b>NotificationCompat.Builder</b></A><br>
+<A HREF="pkg_android.support.v7.app.html#NotificationCompat.MediaStyle" class="hiddenlink" target="rightframe"><b>NotificationCompat.MediaStyle</b></A><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.leanback.widget.ObjectAdapter.html" class="hiddenlink" target="rightframe">ObjectAdapter</A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v7.graphics.Palette.html" class="hiddenlink" target="rightframe">Palette</A><br>
+<A HREF="pkg_android.support.v4.util.html#PatternsCompat" class="hiddenlink" target="rightframe"><b>PatternsCompat</b></A><br>
+<A HREF="android.support.v4.media.session.PlaybackStateCompat.html" class="hiddenlink" target="rightframe">PlaybackStateCompat</A><br>
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu" class="hiddenlink" target="rightframe"><b>PopupMenu</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu.OnDismissListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnDismissListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#PopupMenu.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnMenuItemClickListener</i></b></A><br>
+<A HREF="android.support.v14.preference.PreferenceFragment.html" class="hiddenlink" target="rightframe">PreferenceFragment</A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v7.widget.RecyclerView.html" class="hiddenlink" target="rightframe">RecyclerView</A><br>
+<A HREF="pkg_android.support.v7.widget.html#RecyclerView.OnFlingListener" class="hiddenlink" target="rightframe"><b>RecyclerView.OnFlingListener</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#RecyclerView.SmoothScroller.ScrollVectorProvider" class="hiddenlink" target="rightframe"><b><i>RecyclerView.SmoothScroller.ScrollVectorProvider</i></b></A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.support.v7.widget.html#SearchView" class="hiddenlink" target="rightframe"><b>SearchView</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnCloseListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnCloseListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnQueryTextListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnQueryTextListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SearchView.OnSuggestionListener" class="hiddenlink" target="rightframe"><b><i>SearchView.OnSuggestionListener</i></b></A><br>
+<A HREF="android.support.v4.widget.SearchViewCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat</A><br>
+<A HREF="pkg_android.support.v4.widget.html#SearchViewCompat.OnCloseListener" class="hiddenlink" target="rightframe"><b><i>SearchViewCompat.OnCloseListener</i></b></A><br>
+<A HREF="android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat.OnCloseListenerCompat</A><br>
+<A HREF="pkg_android.support.v4.widget.html#SearchViewCompat.OnQueryTextListener" class="hiddenlink" target="rightframe"><b><i>SearchViewCompat.OnQueryTextListener</i></b></A><br>
+<A HREF="android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat.OnQueryTextListenerCompat</A><br>
+<A HREF="android.support.v4.app.ServiceCompat.html" class="hiddenlink" target="rightframe">ServiceCompat</A><br>
+<A HREF="pkg_android.support.v7.widget.html#ShareActionProvider" class="hiddenlink" target="rightframe"><b>ShareActionProvider</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ShareActionProvider.OnShareTargetSelectedListener" class="hiddenlink" target="rightframe"><b><i>ShareActionProvider.OnShareTargetSelectedListener</i></b></A><br>
+<A HREF="android.support.v4.app.SharedElementCallback.html" class="hiddenlink" target="rightframe">SharedElementCallback</A><br>
+<A HREF="pkg_android.support.v4.app.html#SharedElementCallback.OnSharedElementsReadyListener" class="hiddenlink" target="rightframe"><b><i>SharedElementCallback.OnSharedElementsReadyListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SnapHelper" class="hiddenlink" target="rightframe"><b>SnapHelper</b></A><br>
+<A HREF="android.support.v7.util.SortedList.Callback.html" class="hiddenlink" target="rightframe">SortedList.Callback</A><br>
+<A HREF="pkg_android.support.v7.widget.html#Space" class="hiddenlink" target="rightframe"><b>Space</b></A><br>
+<A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html" class="hiddenlink" target="rightframe">StaggeredGridLayoutManager</A><br>
+<A HREF="android.support.v4.widget.SwipeRefreshLayout.html" class="hiddenlink" target="rightframe">SwipeRefreshLayout</A><br>
+<A HREF="pkg_android.support.v4.widget.html#SwipeRefreshLayout.OnChildScrollUpCallback" class="hiddenlink" target="rightframe"><b><i>SwipeRefreshLayout.OnChildScrollUpCallback</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#SwitchCompat" class="hiddenlink" target="rightframe"><b>SwitchCompat</b></A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.TabLayout.html" class="hiddenlink" target="rightframe">TabLayout</A><br>
+<A HREF="android.support.design.widget.TextInputLayout.html" class="hiddenlink" target="rightframe">TextInputLayout</A><br>
+<A HREF="android.support.v4.widget.TextViewCompat.html" class="hiddenlink" target="rightframe">TextViewCompat</A><br>
+<A HREF="pkg_android.support.v7.widget.html#ThemedSpinnerAdapter" class="hiddenlink" target="rightframe"><b><i>ThemedSpinnerAdapter</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#ThemedSpinnerAdapter.Helper" class="hiddenlink" target="rightframe"><b>ThemedSpinnerAdapter.Helper</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#Toolbar" class="hiddenlink" target="rightframe"><b>Toolbar</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.LayoutParams" class="hiddenlink" target="rightframe"><b>Toolbar.LayoutParams</b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.OnMenuItemClickListener" class="hiddenlink" target="rightframe"><b><i>Toolbar.OnMenuItemClickListener</i></b></A><br>
+<A HREF="pkg_android.support.v7.widget.html#Toolbar.SavedState" class="hiddenlink" target="rightframe"><b>Toolbar.SavedState</b></A><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.ViewCompat.html" class="hiddenlink" target="rightframe">ViewCompat</A><br>
+<A HREF="android.support.v4.view.ViewConfigurationCompat.html" class="hiddenlink" target="rightframe">ViewConfigurationCompat</A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.WindowInsetsCompat.html" class="hiddenlink" target="rightframe">WindowInsetsCompat</A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_changes.html b/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_changes.html
new file mode 100644
index 0000000..1baef5c
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_changes.html
@@ -0,0 +1,394 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+ <br>
+<font color="#999999">Removals</font>
+ <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<b>Changes</b>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html" class="hiddenlink" target="rightframe">AbstractMediaItemPresenter</A><br>
+<A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html" class="hiddenlink" target="rightframe">AbstractMediaItemPresenter.ViewHolder</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html" class="hiddenlink" target="rightframe">AccessibilityEventCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html" class="hiddenlink" target="rightframe">AccessibilityManagerCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html" class="hiddenlink" target="rightframe">AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.AccessibilityActionCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.CollectionInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.CollectionItemInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfoCompat.RangeInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html" class="hiddenlink" target="rightframe">AccessibilityNodeProviderCompat</A><br>
+<A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfoCompat</A><br>
+<A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfoCompat</A><br>
+<A HREF="android.support.v7.app.ActionBarDrawerToggle.html" class="hiddenlink" target="rightframe">ActionBarDrawerToggle</A><br>
+<A HREF="android.support.v4.app.ActivityCompat.html" class="hiddenlink" target="rightframe">ActivityCompat</A><br>
+<A HREF="android.support.v4.app.ActivityOptionsCompat.html" class="hiddenlink" target="rightframe">ActivityOptionsCompat</A><br>
+<A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html" class="hiddenlink" target="rightframe">AppBarLayout.ScrollingViewBehavior</A><br>
+<A HREF="android.support.v7.app.AppCompatDelegate.html" class="hiddenlink" target="rightframe">AppCompatDelegate</A><br>
+<A HREF="android.support.v7.content.res.AppCompatResources.html" class="hiddenlink" target="rightframe">AppCompatResources</A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.BottomSheetBehavior.html" class="hiddenlink" target="rightframe">BottomSheetBehavior</A><br>
+<A HREF="android.support.v4.os.BuildCompat.html" class="hiddenlink" target="rightframe">BuildCompat</A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.CollapsingToolbarLayout.html" class="hiddenlink" target="rightframe">CollapsingToolbarLayout</A><br>
+<A HREF="android.support.v4.content.ContextCompat.html" class="hiddenlink" target="rightframe">ContextCompat</A><br>
+<A HREF="android.support.design.widget.CoordinatorLayout.html" class="hiddenlink" target="rightframe">CoordinatorLayout</A><br>
+<A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html" class="hiddenlink" target="rightframe">CoordinatorLayout.Behavior</A><br>
+<A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html" class="hiddenlink" target="rightframe">CoordinatorLayout.LayoutParams</A><br>
+<A HREF="android.support.customtabs.CustomTabsIntent.html" class="hiddenlink" target="rightframe">CustomTabsIntent</A><br>
+<A HREF="android.support.customtabs.CustomTabsIntent.Builder.html" class="hiddenlink" target="rightframe">CustomTabsIntent.Builder</A><br>
+<A HREF="android.support.customtabs.CustomTabsSession.html" class="hiddenlink" target="rightframe">CustomTabsSession</A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.graphics.drawable.DrawableCompat.html" class="hiddenlink" target="rightframe">DrawableCompat</A><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.FloatingActionButton.Behavior.html" class="hiddenlink" target="rightframe">FloatingActionButton.Behavior</A><br>
+<A HREF="android.support.v4.app.FragmentController.html" class="hiddenlink" target="rightframe">FragmentController</A><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.KeyEventCompat.html" class="hiddenlink" target="rightframe">KeyEventCompat</A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.preference.LeanbackSettingsFragment.html" class="hiddenlink" target="rightframe">LeanbackSettingsFragment</A><br>
+<A HREF="android.support.v7.widget.LinearLayoutManager.html" class="hiddenlink" target="rightframe">LinearLayoutManager</A><br>
+<A HREF="android.support.v7.widget.LinearSmoothScroller.html" class="hiddenlink" target="rightframe">LinearSmoothScroller</A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html" class="hiddenlink" target="rightframe">MediaBrowserCompat.MediaItem</A><br>
+<A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html" class="hiddenlink" target="rightframe">MediaBrowserServiceCompat.BrowserRoot</A><br>
+<A HREF="android.support.v4.media.session.MediaButtonReceiver.html" class="hiddenlink" target="rightframe">MediaButtonReceiver</A><br>
+<A HREF="android.support.v4.media.MediaDescriptionCompat.html" class="hiddenlink" target="rightframe">MediaDescriptionCompat</A><br>
+<A HREF="android.support.v4.media.MediaMetadataCompat.html" class="hiddenlink" target="rightframe">MediaMetadataCompat</A><br>
+<A HREF="android.support.v4.media.session.MediaSessionCompat.html" class="hiddenlink" target="rightframe">MediaSessionCompat</A><br>
+<A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html" class="hiddenlink" target="rightframe">MediaSessionCompat.QueueItem</A><br>
+<A HREF="android.support.v4.view.MotionEventCompat.html" class="hiddenlink" target="rightframe">MotionEventCompat</A><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v17.leanback.widget.ObjectAdapter.html" class="hiddenlink" target="rightframe">ObjectAdapter</A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v7.graphics.Palette.html" class="hiddenlink" target="rightframe">Palette</A><br>
+<A HREF="android.support.v4.media.session.PlaybackStateCompat.html" class="hiddenlink" target="rightframe">PlaybackStateCompat</A><br>
+<A HREF="android.support.v14.preference.PreferenceFragment.html" class="hiddenlink" target="rightframe">PreferenceFragment</A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v7.widget.RecyclerView.html" class="hiddenlink" target="rightframe">RecyclerView</A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.widget.SearchViewCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat</A><br>
+<A HREF="android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat.OnCloseListenerCompat</A><br>
+<A HREF="android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat.html" class="hiddenlink" target="rightframe">SearchViewCompat.OnQueryTextListenerCompat</A><br>
+<A HREF="android.support.v4.app.ServiceCompat.html" class="hiddenlink" target="rightframe">ServiceCompat</A><br>
+<A HREF="android.support.v4.app.SharedElementCallback.html" class="hiddenlink" target="rightframe">SharedElementCallback</A><br>
+<A HREF="android.support.v7.util.SortedList.Callback.html" class="hiddenlink" target="rightframe">SortedList.Callback</A><br>
+<A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html" class="hiddenlink" target="rightframe">StaggeredGridLayoutManager</A><br>
+<A HREF="android.support.v4.widget.SwipeRefreshLayout.html" class="hiddenlink" target="rightframe">SwipeRefreshLayout</A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#V"><font size="-2">V</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.design.widget.TabLayout.html" class="hiddenlink" target="rightframe">TabLayout</A><br>
+<A HREF="android.support.design.widget.TextInputLayout.html" class="hiddenlink" target="rightframe">TextInputLayout</A><br>
+<A HREF="android.support.v4.widget.TextViewCompat.html" class="hiddenlink" target="rightframe">TextViewCompat</A><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.ViewCompat.html" class="hiddenlink" target="rightframe">ViewCompat</A><br>
+<A HREF="android.support.v4.view.ViewConfigurationCompat.html" class="hiddenlink" target="rightframe">ViewConfigurationCompat</A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#K"><font size="-2">K</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+<a href="#V"><font size="-2">V</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.support.v4.view.WindowInsetsCompat.html" class="hiddenlink" target="rightframe">WindowInsetsCompat</A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_removals.html b/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_removals.html
new file mode 100644
index 0000000..e6da73f
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/classes_index_removals.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+ <br>
+<font color="#999999">Removals</font>
+ <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_additions.html b/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_additions.html
new file mode 100644
index 0000000..b0c0587
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_additions.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+ <br>
+<font color="#999999">Removals</font>
+ <br>
+<b>Additions</b>
+ <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="W"></A>
+<br><font size="+2">W</font>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.WindowInsetsCompat.html#android.support.v4.view.WindowInsetsCompat.ctor_added(android.support.v4.view.WindowInsetsCompat)" class="hiddenlink" target="rightframe"><b>WindowInsetsCompat</b>
+(<code>WindowInsetsCompat</code>)</A></nobr> constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_all.html b/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_all.html
new file mode 100644
index 0000000..91568db
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_all.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Constructors</b>
+ <br>
+<font color="#999999">Removals</font>
+ <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.ActivityCompat.html#android.support.v4.app.ActivityCompat.ctor_changed()" class="hiddenlink" target="rightframe">ActivityCompat
+()</A></nobr> constructor<br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#W"><font size="-2">W</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.content.ContextCompat.html#android.support.v4.content.ContextCompat.ctor_changed()" class="hiddenlink" target="rightframe">ContextCompat
+()</A></nobr> constructor<br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.WindowInsetsCompat.html#android.support.v4.view.WindowInsetsCompat.ctor_added(android.support.v4.view.WindowInsetsCompat)" class="hiddenlink" target="rightframe"><b>WindowInsetsCompat</b>
+(<code>WindowInsetsCompat</code>)</A></nobr> constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_changes.html b/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_changes.html
new file mode 100644
index 0000000..b4142ed
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_changes.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+ <br>
+<font color="#999999">Removals</font>
+ <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<b>Changes</b>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#C"><font size="-2">C</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.ActivityCompat.html#android.support.v4.app.ActivityCompat.ctor_changed()" class="hiddenlink" target="rightframe">ActivityCompat
+()</A></nobr> constructor<br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.content.ContextCompat.html#android.support.v4.content.ContextCompat.ctor_changed()" class="hiddenlink" target="rightframe">ContextCompat
+()</A></nobr> constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_removals.html b/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_removals.html
new file mode 100644
index 0000000..f1a9952
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/constructors_index_removals.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+ <br>
+<font color="#999999">Removals</font>
+ <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_additions.html b/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_additions.html
new file mode 100644
index 0000000..8923dbe
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_additions.html
@@ -0,0 +1,267 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+ <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<b>Additions</b>
+ <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_COLUMN_INT" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_COLUMN_INT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_PROGRESS_VALUE" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_PROGRESS_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_ROW_INT" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_ROW_INT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CONTEXT_CLICK" class="hiddenlink" target="rightframe">ACTION_CONTEXT_CLICK</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_DOWN" class="hiddenlink" target="rightframe">ACTION_SCROLL_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_LEFT" class="hiddenlink" target="rightframe">ACTION_SCROLL_LEFT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_RIGHT" class="hiddenlink" target="rightframe">ACTION_SCROLL_RIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_TO_POSITION" class="hiddenlink" target="rightframe">ACTION_SCROLL_TO_POSITION</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_UP" class="hiddenlink" target="rightframe">ACTION_SCROLL_UP</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SET_PROGRESS" class="hiddenlink" target="rightframe">ACTION_SET_PROGRESS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SHOW_ON_SCREEN" class="hiddenlink" target="rightframe">ACTION_SHOW_ON_SCREEN</A>
+</nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ALBUMS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_ALBUMS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ARTISTS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_ARTISTS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_GENRES" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_GENRES</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_MIXED" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_MIXED</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_PLAYLISTS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_PLAYLISTS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_TITLES" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_TITLES</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_YEARS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_YEARS</A>
+</nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html#android.support.design.widget.CoordinatorLayout.LayoutParams.dodgeInsetEdges" class="hiddenlink" target="rightframe">dodgeInsetEdges</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.EXTRA_BT_FOLDER_TYPE" class="hiddenlink" target="rightframe">EXTRA_BT_FOLDER_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.EXTRA_ENABLE_INSTANT_APPS" class="hiddenlink" target="rightframe">EXTRA_ENABLE_INSTANT_APPS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html#android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.EXTRA_SUGGESTION_KEYWORDS" class="hiddenlink" target="rightframe">EXTRA_SUGGESTION_KEYWORDS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT" class="hiddenlink" target="rightframe">EXTRA_USAGE_TIME_REPORT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT_PACKAGES" class="hiddenlink" target="rightframe">EXTRA_USAGE_TIME_REPORT_PACKAGES</A>
+</nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html#android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.HOST_VIEW_ID" class="hiddenlink" target="rightframe">HOST_VIEW_ID</A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html#android.support.design.widget.CoordinatorLayout.LayoutParams.insetEdge" class="hiddenlink" target="rightframe">insetEdge</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.MediaMetadataCompat.html#android.support.v4.media.MediaMetadataCompat.METADATA_KEY_BT_FOLDER_TYPE" class="hiddenlink" target="rightframe">METADATA_KEY_BT_FOLDER_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaMetadataCompat.html#android.support.v4.media.MediaMetadataCompat.METADATA_KEY_MEDIA_URI" class="hiddenlink" target="rightframe">METADATA_KEY_MEDIA_URI</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.BottomSheetBehavior.html#android.support.design.widget.BottomSheetBehavior.PEEK_HEIGHT_AUTO" class="hiddenlink" target="rightframe">PEEK_HEIGHT_AUTO</A>
+</nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_INITIAL" class="hiddenlink" target="rightframe">PLAY_STATE_INITIAL</A>
+</nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PAUSED" class="hiddenlink" target="rightframe">PLAY_STATE_PAUSED</A>
+</nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PLAYING" class="hiddenlink" target="rightframe">PLAY_STATE_PLAYING</A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.STOP_FOREGROUND_DETACH" class="hiddenlink" target="rightframe">STOP_FOREGROUND_DETACH</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.STOP_FOREGROUND_REMOVE" class="hiddenlink" target="rightframe">STOP_FOREGROUND_REMOVE</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_ASSIST_READING_CONTEXT" class="hiddenlink" target="rightframe">TYPE_ASSIST_READING_CONTEXT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html#android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.TYPE_SPLIT_SCREEN_DIVIDER" class="hiddenlink" target="rightframe">TYPE_SPLIT_SCREEN_DIVIDER</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_VIEW_CONTEXT_CLICKED" class="hiddenlink" target="rightframe">TYPE_VIEW_CONTEXT_CLICKED</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_WINDOWS_CHANGED" class="hiddenlink" target="rightframe">TYPE_WINDOWS_CHANGED</A>
+</nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_all.html b/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_all.html
new file mode 100644
index 0000000..19cebb7
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_all.html
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Fields</b>
+ <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_COLUMN_INT" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_COLUMN_INT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_PROGRESS_VALUE" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_PROGRESS_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_ROW_INT" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_ROW_INT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CONTEXT_CLICK" class="hiddenlink" target="rightframe">ACTION_CONTEXT_CLICK</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_DOWN" class="hiddenlink" target="rightframe">ACTION_SCROLL_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_LEFT" class="hiddenlink" target="rightframe">ACTION_SCROLL_LEFT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_RIGHT" class="hiddenlink" target="rightframe">ACTION_SCROLL_RIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_TO_POSITION" class="hiddenlink" target="rightframe">ACTION_SCROLL_TO_POSITION</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_UP" class="hiddenlink" target="rightframe">ACTION_SCROLL_UP</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SET_PROGRESS" class="hiddenlink" target="rightframe">ACTION_SET_PROGRESS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SHOW_ON_SCREEN" class="hiddenlink" target="rightframe">ACTION_SHOW_ON_SCREEN</A>
+</nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ALBUMS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_ALBUMS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ARTISTS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_ARTISTS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_GENRES" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_GENRES</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_MIXED" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_MIXED</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_PLAYLISTS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_PLAYLISTS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_TITLES" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_TITLES</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_YEARS" class="hiddenlink" target="rightframe">BT_FOLDER_TYPE_YEARS</A>
+</nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html#android.support.design.widget.CoordinatorLayout.LayoutParams.dodgeInsetEdges" class="hiddenlink" target="rightframe">dodgeInsetEdges</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html#android.support.v4.media.MediaDescriptionCompat.EXTRA_BT_FOLDER_TYPE" class="hiddenlink" target="rightframe">EXTRA_BT_FOLDER_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.EXTRA_ENABLE_INSTANT_APPS" class="hiddenlink" target="rightframe">EXTRA_ENABLE_INSTANT_APPS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html#android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.EXTRA_SUGGESTION_KEYWORDS" class="hiddenlink" target="rightframe">EXTRA_SUGGESTION_KEYWORDS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT" class="hiddenlink" target="rightframe">EXTRA_USAGE_TIME_REPORT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT_PACKAGES" class="hiddenlink" target="rightframe">EXTRA_USAGE_TIME_REPORT_PACKAGES</A>
+</nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html#android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.HOST_VIEW_ID" class="hiddenlink" target="rightframe">HOST_VIEW_ID</A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html#android.support.design.widget.CoordinatorLayout.LayoutParams.insetEdge" class="hiddenlink" target="rightframe">insetEdge</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.MediaMetadataCompat.html#android.support.v4.media.MediaMetadataCompat.METADATA_KEY_BT_FOLDER_TYPE" class="hiddenlink" target="rightframe">METADATA_KEY_BT_FOLDER_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaMetadataCompat.html#android.support.v4.media.MediaMetadataCompat.METADATA_KEY_MEDIA_URI" class="hiddenlink" target="rightframe">METADATA_KEY_MEDIA_URI</A>
+</nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_ALWAYS" class="hiddenlink" target="rightframe">OVER_SCROLL_ALWAYS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_IF_CONTENT_SCROLLS" class="hiddenlink" target="rightframe">OVER_SCROLL_IF_CONTENT_SCROLLS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_NEVER" class="hiddenlink" target="rightframe">OVER_SCROLL_NEVER</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.BottomSheetBehavior.html#android.support.design.widget.BottomSheetBehavior.PEEK_HEIGHT_AUTO" class="hiddenlink" target="rightframe">PEEK_HEIGHT_AUTO</A>
+</nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_INITIAL" class="hiddenlink" target="rightframe">PLAY_STATE_INITIAL</A>
+</nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PAUSED" class="hiddenlink" target="rightframe">PLAY_STATE_PAUSED</A>
+</nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PLAYING" class="hiddenlink" target="rightframe">PLAY_STATE_PLAYING</A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.STOP_FOREGROUND_DETACH" class="hiddenlink" target="rightframe">STOP_FOREGROUND_DETACH</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.STOP_FOREGROUND_REMOVE" class="hiddenlink" target="rightframe">STOP_FOREGROUND_REMOVE</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#E"><font size="-2">E</font></a>
+<a href="#H"><font size="-2">H</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html#android.support.v7.widget.StaggeredGridLayoutManager.TAG" class="hiddenlink" target="rightframe"><strike>TAG</strike></A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_ASSIST_READING_CONTEXT" class="hiddenlink" target="rightframe">TYPE_ASSIST_READING_CONTEXT</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html#android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.TYPE_SPLIT_SCREEN_DIVIDER" class="hiddenlink" target="rightframe">TYPE_SPLIT_SCREEN_DIVIDER</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_VIEW_CONTEXT_CLICKED" class="hiddenlink" target="rightframe">TYPE_VIEW_CONTEXT_CLICKED</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_WINDOWS_CHANGED" class="hiddenlink" target="rightframe">TYPE_WINDOWS_CHANGED</A>
+</nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_changes.html b/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_changes.html
new file mode 100644
index 0000000..b5ab769
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_changes.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+ <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<b>Changes</b>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_ALWAYS" class="hiddenlink" target="rightframe">OVER_SCROLL_ALWAYS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_IF_CONTENT_SCROLLS" class="hiddenlink" target="rightframe">OVER_SCROLL_IF_CONTENT_SCROLLS</A>
+</nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.OVER_SCROLL_NEVER" class="hiddenlink" target="rightframe">OVER_SCROLL_NEVER</A>
+</nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_removals.html b/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_removals.html
new file mode 100644
index 0000000..09ffac4
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/fields_index_removals.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+ <br>
+<b>Removals</b>
+ <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html#android.support.v7.widget.StaggeredGridLayoutManager.TAG" class="hiddenlink" target="rightframe"><strike>TAG</strike></A>
+</nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/jdiff_help.html b/docs/html/sdk/support_api_diff/24.2.0/changes/jdiff_help.html
new file mode 100644
index 0000000..ca0931f
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/jdiff_help.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+JDiff Help
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<TABLE summary="Navigation bar" BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+ <TABLE summary="Navigation bar" BORDER="0" CELLPADDING="0" CELLSPACING="3">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../reference/index.html" target="_top"><FONT CLASS="NavBarFont1"><B><code>24.2.0</code></B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="changes-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="jdiff_statistics.html"><FONT CLASS="NavBarFont1"><B>Statistics</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD>
+ </TR>
+ </TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Generated by<br><a href="http://www.jdiff.org" class="staysblack" target="_top">JDiff</a></b></EM></TD>
+</TR>
+<TR>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2"></FONT>
+</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../changes.html" TARGET="_top"><B>FRAMES</B></A>
+ <A HREF="jdiff_help.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
+</TR>
+</TABLE>
+<HR>
+<!-- End of nav bar -->
+<center>
+<H1>JDiff Documentation</H1>
+</center>
+<BLOCKQUOTE>
+JDiff is a <a href="http://java.sun.com/j2se/javadoc/" target="_top">Javadoc</a> doclet which generates a report of the API differences between two versions of a product. It does not report changes in Javadoc comments, or changes in what a class or method does.
+This help page describes the different parts of the output from JDiff.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+ See the reference page in the <a href="http://www.jdiff.org">source for JDiff</a> for information about how to generate a report like this one.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+The indexes shown in the top-left frame help show each type of change in more detail. The index "All Differences" contains all the differences between the APIs, in alphabetical order.
+These indexes all use the same format:
+<ul>
+<li>Removed packages, classes, constructors, methods and fields are <strike>struck through</strike>.</li>
+<li>Added packages, classes, constructors, methods and fields appear in <b>bold</b>.</li>
+<li>Changed packages, classes, constructors, methods and fields appear in normal text.</li>
+</ul>
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+You can always tell when you are reading a JDiff page, rather than a Javadoc page, by the color of the index bar and the color of the background.
+Links which take you to a Javadoc page are always in a <code>typewriter</code> font.
+Just like Javadoc, all interface names are in <i>italic</i>, and class names are not italicized. Where there are multiple entries in an index with the same name, the heading for them is also in italics, but is not a link.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3><b><code>Javadoc</code></b></H3>
+This is a link to the <a href="../../../../reference/index.html" target="_top">top-level</a> Javadoc page for the new version of the product.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Overview</H3>
+The <a href="changes-summary.html">overview</a> is the top-level summary of what was removed, added and changed between versions.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Package</H3>
+This is a link to the package containing the current changed class or interface.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Class</H3>
+This is highlighted when you are looking at the changed class or interface.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Text Changes</H3>
+This is a link to the top-level index of all documentation changes for the current package or class.
+If it is not present, then there are no documentation changes for the current package or class.
+This link can be removed entirely by not using the <code>-docchanges</code> option.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Statistics</H3>
+This is a link to a page which shows statistics about the changes between the two APIs.
+This link can be removed entirely by not using the <code>-stats</code> option.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Help</H3>
+A link to this Help page for JDiff.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Prev/Next</H3>
+These links take you to the previous and next changed package or class.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Frames/No Frames</H3>
+These links show and hide the HTML frames. All pages are available with or without frames.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H2>Complex Changes</H2>
+There are some complex changes which can occur between versions, for example, when two or more methods with the same name change simultaneously, or when a method or field is moved into or from a superclass.
+In these cases, the change will be seen as a removal and an addition, rather than as a change. Unexpected removals or additions are often part of one of these type of changes.
+</BLOCKQUOTE>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/jdiff_statistics.html b/docs/html/sdk/support_api_diff/24.2.0/changes/jdiff_statistics.html
new file mode 100644
index 0000000..698dbec
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/jdiff_statistics.html
@@ -0,0 +1,596 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+API Change Statistics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<body class="gc-documentation">
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;xborder-bottom:none;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="../changes.html" target="_top">Top of Report</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<h1>API Change Statistics</h1>
+<p>The overall difference between API Levels 24.1.0 and 24.2.0 is approximately <span style="color:222;font-weight:bold;">8.39%</span>.
+</p>
+<br>
+<a name="numbers"></a>
+<h2>Total of Differences, by Number and Type</h2>
+<p>
+The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.
+</p>
+<TABLE summary="Number of differences" WIDTH="100%">
+<TR>
+ <th>Type</th>
+ <TH ALIGN="center"><b>Additions</b></TH>
+ <TH ALIGN="center"><b>Changes</b></TH>
+ <TH ALIGN="center">Removals</TH>
+ <TH ALIGN="center"><b>Total</b></TH>
+</TR>
+<TR>
+ <TD>Packages</TD>
+ <TD ALIGN="right">2</TD>
+ <TD ALIGN="right">22</TD>
+ <TD ALIGN="right">3</TD>
+ <TD ALIGN="right">27</TD>
+</TR>
+<TR>
+ <TD>Classes and <i>Interfaces</i></TD>
+ <TD ALIGN="right">64</TD>
+ <TD ALIGN="right">63</TD>
+ <TD ALIGN="right">0</TD>
+ <TD ALIGN="right">127</TD>
+</TR>
+<TR>
+ <TD>Constructors</TD>
+ <TD ALIGN="right">1</TD>
+ <TD ALIGN="right">2</TD>
+ <TD ALIGN="right">0</TD>
+ <TD ALIGN="right">3</TD>
+</TR>
+<TR>
+ <TD>Methods</TD>
+ <TD ALIGN="right">80</TD>
+ <TD ALIGN="right">25</TD>
+ <TD ALIGN="right">7</TD>
+ <TD ALIGN="right">112</TD>
+</TR>
+<TR>
+ <TD>Fields</TD>
+ <TD ALIGN="right">38</TD>
+ <TD ALIGN="right">3</TD>
+ <TD ALIGN="right">1</TD>
+ <TD ALIGN="right">42</TD>
+</TR>
+<TR>
+ <TD style="background-color:#FAFAFA"><b>Total</b></TD>
+ <TD style="background-color:#FAFAFA" ALIGN="right"><strong>185</strong></TD>
+ <TD style="background-color:#FAFAFA" ALIGN="right"><strong>115</strong></TD>
+ <TD style="background-color:#FAFAFA" ALIGN="right"><strong>11</strong></TD>
+ <TD style="background-color:#FAFAFA" ALIGN="right"><strong>311</strong></TD>
+</TR>
+</TABLE>
+<br>
+<a name="packages"></a>
+<h2>Changed Packages, Sorted by Percentage Difference</h2>
+<TABLE summary="Packages sorted by percentage difference" WIDTH="100%">
+<TR>
+ <TH WIDTH="10%">Percentage Difference*</TH>
+ <TH>Package</TH>
+</TR>
+<TR>
+ <TD ALIGN="center">37</TD>
+ <TD><A HREF="pkg_android.support.v7.widget.html">android.support.v7.widget</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">33</TD>
+ <TD><A HREF="pkg_android.support.v7.content.res.html">android.support.v7.content.res</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">32</TD>
+ <TD><A HREF="pkg_android.support.v7.util.html">android.support.v7.util</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">19</TD>
+ <TD><A HREF="pkg_android.support.v4.view.accessibility.html">android.support.v4.view.accessibility</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">12</TD>
+ <TD><A HREF="pkg_android.support.v7.app.html">android.support.v7.app</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">5</TD>
+ <TD><A HREF="pkg_android.support.v4.widget.html">android.support.v4.widget</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">4</TD>
+ <TD><A HREF="pkg_android.support.v4.accessibilityservice.html">android.support.v4.accessibilityservice</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">4</TD>
+ <TD><A HREF="pkg_android.support.customtabs.html">android.support.customtabs</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">3</TD>
+ <TD><A HREF="pkg_android.support.v4.util.html">android.support.v4.util</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">3</TD>
+ <TD><A HREF="pkg_android.support.v4.os.html">android.support.v4.os</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="pkg_android.support.v4.media.session.html">android.support.v4.media.session</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="pkg_android.support.v4.app.html">android.support.v4.app</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="pkg_android.support.design.widget.html">android.support.design.widget</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="pkg_android.support.v4.media.html">android.support.v4.media</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="pkg_android.support.v7.preference.html">android.support.v7.preference</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="pkg_android.support.v4.view.html">android.support.v4.view</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="pkg_android.support.v17.preference.html">android.support.v17.preference</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center"><1</TD>
+ <TD><A HREF="pkg_android.support.v4.graphics.drawable.html">android.support.v4.graphics.drawable</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center"><1</TD>
+ <TD><A HREF="pkg_android.support.v7.graphics.html">android.support.v7.graphics</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center"><1</TD>
+ <TD><A HREF="pkg_android.support.v17.leanback.widget.html">android.support.v17.leanback.widget</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center"><1</TD>
+ <TD><A HREF="pkg_android.support.v14.preference.html">android.support.v14.preference</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center"><1</TD>
+ <TD><A HREF="pkg_android.support.v4.content.html">android.support.v4.content</A></TD>
+</TR>
+</TABLE>
+<p style="font-size:10px">* See <a href="#calculation">Calculation of Change Percentages</a>, below.</p>
+<br>
+<a name="classes"></a>
+<h2>Changed Classes and <i>Interfaces</i>, Sorted by Percentage Difference</h2>
+<TABLE summary="Classes sorted by percentage difference" WIDTH="100%">
+<TR WIDTH="20%">
+ <TH WIDTH="10%">Percentage<br>Difference*</TH>
+ <TH><b>Class or <i>Interface</i></b></TH>
+</TR>
+<TR>
+ <TD ALIGN="center">60</TD>
+ <TD><A HREF="android.support.v4.app.ServiceCompat.html">
+android.support.v4.app.ServiceCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">38</TD>
+ <TD><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html">
+android.support.design.widget.FloatingActionButton.Behavior</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">33</TD>
+ <TD><A HREF="android.support.v4.app.ActivityOptionsCompat.html">
+android.support.v4.app.ActivityOptionsCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">33</TD>
+ <TD><A HREF="android.support.v4.os.BuildCompat.html">
+android.support.v4.os.BuildCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">33</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html">
+android.support.v4.view.accessibility.AccessibilityManagerCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">33</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html">
+android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">33</TD>
+ <TD><A HREF="android.support.v7.content.res.AppCompatResources.html">
+android.support.v7.content.res.AppCompatResources</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">28</TD>
+ <TD><A HREF="android.support.customtabs.CustomTabsSession.html">
+android.support.customtabs.CustomTabsSession</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">28</TD>
+ <TD><A HREF="android.support.v7.util.SortedList.Callback.html">
+android.support.v7.util.SortedList.Callback</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">25</TD>
+ <TD><A HREF="android.support.v4.media.session.MediaButtonReceiver.html">
+android.support.v4.media.session.MediaButtonReceiver</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">25</TD>
+ <TD><A HREF="android.support.v4.view.ViewConfigurationCompat.html">
+android.support.v4.view.ViewConfigurationCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">25</TD>
+ <TD><A HREF="android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat.html">
+android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">23</TD>
+ <TD><A HREF="android.support.v4.media.MediaDescriptionCompat.html">
+android.support.v4.media.MediaDescriptionCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">20</TD>
+ <TD><A HREF="android.support.v4.view.KeyEventCompat.html">
+android.support.v4.view.KeyEventCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">18</TD>
+ <TD><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html">
+android.support.v17.leanback.widget.AbstractMediaItemPresenter</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">18</TD>
+ <TD><A HREF="android.support.design.widget.TextInputLayout.html">
+android.support.design.widget.TextInputLayout</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">17</TD>
+ <TD><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html">
+android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">16</TD>
+ <TD><A HREF="android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat.html">
+android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">15</TD>
+ <TD><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html">
+android.support.v4.media.session.MediaSessionCompat.QueueItem</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">13</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html">
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">12</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html">
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">11</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html">
+android.support.v4.view.accessibility.AccessibilityEventCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">11</TD>
+ <TD><A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html">
+android.support.design.widget.AppBarLayout.ScrollingViewBehavior</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">10</TD>
+ <TD><A HREF="android.support.v17.preference.LeanbackSettingsFragment.html">
+android.support.v17.preference.LeanbackSettingsFragment</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">9</TD>
+ <TD><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html">
+android.support.design.widget.CoordinatorLayout.Behavior</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">8</TD>
+ <TD><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html">
+android.support.design.widget.CoordinatorLayout.LayoutParams</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">8</TD>
+ <TD><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html">
+android.support.v4.media.MediaBrowserCompat.MediaItem</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">7</TD>
+ <TD><A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html">
+android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">7</TD>
+ <TD><A HREF="android.support.v4.widget.TextViewCompat.html">
+android.support.v4.widget.TextViewCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">7</TD>
+ <TD><A HREF="android.support.v4.app.ActivityCompat.html">
+android.support.v4.app.ActivityCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">6</TD>
+ <TD><A HREF="android.support.v4.app.SharedElementCallback.html">
+android.support.v4.app.SharedElementCallback</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">6</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html">
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">6</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html">
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">6</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html">
+android.support.v4.view.accessibility.AccessibilityNodeProviderCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">6</TD>
+ <TD><A HREF="android.support.v4.widget.SearchViewCompat.html">
+android.support.v4.widget.SearchViewCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">6</TD>
+ <TD><A HREF="android.support.v7.app.ActionBarDrawerToggle.html">
+android.support.v7.app.ActionBarDrawerToggle</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">5</TD>
+ <TD><A HREF="android.support.customtabs.CustomTabsIntent.html">
+android.support.customtabs.CustomTabsIntent</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">4</TD>
+ <TD><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html">
+android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">4</TD>
+ <TD><A HREF="android.support.v4.view.MotionEventCompat.html">
+android.support.v4.view.MotionEventCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">4</TD>
+ <TD><A HREF="android.support.v7.graphics.Palette.html">
+android.support.v7.graphics.Palette</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">4</TD>
+ <TD><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html">
+android.support.v7.widget.StaggeredGridLayoutManager</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">3</TD>
+ <TD><A HREF="android.support.v4.media.session.MediaSessionCompat.html">
+android.support.v4.media.session.MediaSessionCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">3</TD>
+ <TD><A HREF="android.support.v4.content.ContextCompat.html">
+android.support.v4.content.ContextCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">3</TD>
+ <TD><A HREF="android.support.customtabs.CustomTabsIntent.Builder.html">
+android.support.customtabs.CustomTabsIntent.Builder</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.design.widget.BottomSheetBehavior.html">
+android.support.design.widget.BottomSheetBehavior</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.design.widget.CoordinatorLayout.html">
+android.support.design.widget.CoordinatorLayout</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.v4.graphics.drawable.DrawableCompat.html">
+android.support.v4.graphics.drawable.DrawableCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.v4.view.WindowInsetsCompat.html">
+android.support.v4.view.WindowInsetsCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.v14.preference.PreferenceFragment.html">
+android.support.v14.preference.PreferenceFragment</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html">
+android.support.v4.view.accessibility.AccessibilityWindowInfoCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.v4.view.ViewCompat.html">
+android.support.v4.view.ViewCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.design.widget.CollapsingToolbarLayout.html">
+android.support.design.widget.CollapsingToolbarLayout</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.v17.leanback.widget.ObjectAdapter.html">
+android.support.v17.leanback.widget.ObjectAdapter</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.v4.media.MediaMetadataCompat.html">
+android.support.v4.media.MediaMetadataCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.v7.widget.LinearSmoothScroller.html">
+android.support.v7.widget.LinearSmoothScroller</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">2</TD>
+ <TD><A HREF="android.support.v4.widget.SwipeRefreshLayout.html">
+android.support.v4.widget.SwipeRefreshLayout</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="android.support.v7.widget.LinearLayoutManager.html">
+android.support.v7.widget.LinearLayoutManager</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html">
+android.support.v4.view.accessibility.AccessibilityNodeInfoCompat</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="android.support.design.widget.TabLayout.html">
+android.support.design.widget.TabLayout</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="android.support.v4.app.FragmentController.html">
+android.support.v4.app.FragmentController</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="android.support.v7.app.AppCompatDelegate.html">
+android.support.v7.app.AppCompatDelegate</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="android.support.v7.widget.RecyclerView.html">
+android.support.v7.widget.RecyclerView</A></TD>
+</TR>
+<TR>
+ <TD ALIGN="center">1</TD>
+ <TD><A HREF="android.support.v4.media.session.PlaybackStateCompat.html">
+android.support.v4.media.session.PlaybackStateCompat</A></TD>
+</TR>
+</TABLE>
+<p style="font-size:10px">* See <a href="#calculation">Calculation of Change Percentages</a>, below.</p>
+<br>
+<h2 id="calculation">Calculation of Change Percentages</h2>
+<p>
+The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:</p>
+<pre>
+Percentage difference = 100 * (added + removed + 2*changed)
+ -----------------------------------
+ sum of public elements in BOTH APIs
+</pre>
+<p>where <code>added</code> is the number of packages added, <code>removed</code> is the number of packages removed, and <code>changed</code> is the number of packages changed.
+This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed.
+The definition ensures that if all packages are removed and all new packages are
+added, the change will be 100%.</p>
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY></HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/jdiff_topleftframe.html b/docs/html/sdk/support_api_diff/24.2.0/changes/jdiff_topleftframe.html
new file mode 100644
index 0000000..36f9836
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/jdiff_topleftframe.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Android API Version Differences
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<table class="jdiffIndex" summary="Links to diff index files" BORDER="0" WIDTH="100%" cellspacing="0" cellpadding="0" style="margin:0">
+<TR>
+ <th class="indexHeader" nowrap>
+ Select a Diffs Index:</th>
+</TR>
+<TR>
+ <TD><FONT CLASS="indexText" size="-2"><A HREF="alldiffs_index_all.html" TARGET="bottomleftframe">All Differences</A></FONT><br></TD>
+</TR>
+<TR>
+ <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="packages_index_all.html" TARGET="bottomleftframe">By Package</A></FONT><br></TD>
+</TR>
+<TR>
+ <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="classes_index_all.html" TARGET="bottomleftframe">By Class</A></FONT><br></TD>
+</TR>
+<TR>
+ <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="constructors_index_all.html" TARGET="bottomleftframe">By Constructor</A></FONT><br></TD>
+</TR>
+<TR>
+ <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="methods_index_all.html" TARGET="bottomleftframe">By Method</A></FONT><br></TD>
+</TR>
+<TR>
+ <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="fields_index_all.html" TARGET="bottomleftframe">By Field</A></FONT><br></TD>
+</TR>
+</TABLE>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_additions.html b/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_additions.html
new file mode 100644
index 0000000..508018e
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_additions.html
@@ -0,0 +1,448 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+ <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<b>Additions</b>
+ <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.addTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" class="hiddenlink" target="rightframe"><b>addTouchExplorationStateChangeListener</b>
+(<code>AccessibilityManager, TouchExplorationStateChangeListener</code>)</A></nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>buildMediaButtonPendingIntent</i><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaButtonReceiver.html#android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, android.content.ComponentName, long)" class="hiddenlink" target="rightframe">type <b>
+(<code>Context, ComponentName, long</code>)</b> in android.support.v4.media.session.MediaButtonReceiver
+</A></nobr><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaButtonReceiver.html#android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, long)" class="hiddenlink" target="rightframe">type <b>
+(<code>Context, long</code>)</b> in android.support.v4.media.session.MediaButtonReceiver
+</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.graphics.drawable.DrawableCompat.html#android.support.v4.graphics.drawable.DrawableCompat.clearColorFilter_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>clearColorFilter</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TabLayout.html#android.support.design.widget.TabLayout.clearOnTabSelectedListeners_added()" class="hiddenlink" target="rightframe"><b>clearOnTabSelectedListeners</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html#android.support.v7.widget.StaggeredGridLayoutManager.computeScrollVectorForPosition_added(int)" class="hiddenlink" target="rightframe"><b>computeScrollVectorForPosition</b>
+(<code>int</code>)</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.FragmentController.html#android.support.v4.app.FragmentController.findFragmentByWho_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>findFragmentByWho</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html#android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItem_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromMediaItem</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html#android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItemList_added(java.util.List<?>)" class="hiddenlink" target="rightframe"><b>fromMediaItemList</b>
+(<code>List<?></code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.html#android.support.v4.media.session.MediaSessionCompat.fromMediaSession_added(android.content.Context, java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromMediaSession</b>
+(<code>Context, Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItem_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromQueueItem</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItemList_added(java.util.List<?>)" class="hiddenlink" target="rightframe"><b>fromQueueItemList</b>
+(<code>List<?></code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.getAction_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>getAction</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.widget.TextViewCompat.html#android.support.v4.widget.TextViewCompat.getCompoundDrawablesRelative_added(android.widget.TextView)" class="hiddenlink" target="rightframe"><b>getCompoundDrawablesRelative</b>
+(<code>TextView</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.html#android.support.design.widget.CoordinatorLayout.getDependents_added(android.view.View)" class="hiddenlink" target="rightframe"><b>getDependents</b>
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.graphics.Palette.html#android.support.v7.graphics.Palette.getDominantColor_added(int)" class="hiddenlink" target="rightframe"><b>getDominantColor</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.graphics.Palette.html#android.support.v7.graphics.Palette.getDominantSwatch_added()" class="hiddenlink" target="rightframe"><b>getDominantSwatch</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v7.content.res.AppCompatResources.html#android.support.v7.content.res.AppCompatResources.getDrawable_added(android.content.Context, int)" class="hiddenlink" target="rightframe"><b>getDrawable</b>
+(<code>Context, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.app.ActionBarDrawerToggle.html#android.support.v7.app.ActionBarDrawerToggle.getDrawerArrowDrawable_added()" class="hiddenlink" target="rightframe"><b>getDrawerArrowDrawable</b>
+()</A></nobr><br>
+<i>getInsetDodgeRect</i><br>
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, V, Rect</code>)</b> in android.support.design.widget.CoordinatorLayout.Behavior
+</A></nobr><br>
+ <nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.graphics.Rect)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, FloatingActionButton, Rect</code>)</b> in android.support.design.widget.FloatingActionButton.Behavior
+</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.getLaunchBounds_added()" class="hiddenlink" target="rightframe"><b>getLaunchBounds</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemNumberViewFlipper_added()" class="hiddenlink" target="rightframe"><b>getMediaItemNumberViewFlipper</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPausedView_added()" class="hiddenlink" target="rightframe"><b>getMediaItemPausedView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPlayingView_added()" class="hiddenlink" target="rightframe"><b>getMediaItemPlayingView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.getMediaPlayState_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>getMediaPlayState</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.getMovementGranularity_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>getMovementGranularity</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.widget.RecyclerView.html#android.support.v7.widget.RecyclerView.getOnFlingListener_added()" class="hiddenlink" target="rightframe"><b>getOnFlingListener</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleContentDescription_added()" class="hiddenlink" target="rightframe"><b>getPasswordVisibilityToggleContentDescription</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleDrawable_added()" class="hiddenlink" target="rightframe"><b>getPasswordVisibilityToggleDrawable</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.getSelectionMode_added()" class="hiddenlink" target="rightframe"><b>getSelectionMode</b>
+()</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.os.BuildCompat.html#android.support.v4.os.BuildCompat.isAtLeastNMR1_added()" class="hiddenlink" target="rightframe"><b>isAtLeastNMR1</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.isAutoHideEnabled_added()" class="hiddenlink" target="rightframe"><b>isAutoHideEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.isContextClickable_added()" class="hiddenlink" target="rightframe"><b>isContextClickable</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.ObjectAdapter.html#android.support.v17.leanback.widget.ObjectAdapter.isImmediateNotifySupported_added()" class="hiddenlink" target="rightframe"><b>isImmediateNotifySupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.isImportantForAccessibility_added(android.view.View)" class="hiddenlink" target="rightframe"><b>isImportantForAccessibility</b>
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.isPasswordVisibilityToggleEnabled_added()" class="hiddenlink" target="rightframe"><b>isPasswordVisibilityToggleEnabled</b>
+()</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html#android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.loadDescription_added(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager)" class="hiddenlink" target="rightframe"><b>loadDescription</b>
+(<code>AccessibilityServiceInfo, PackageManager</code>)</A></nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeBasic_added()" class="hiddenlink" target="rightframe"><b>makeBasic</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeClipRevealAnimation_added(android.view.View, int, int, int, int)" class="hiddenlink" target="rightframe"><b>makeClipRevealAnimation</b>
+(<code>View, int, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeTaskLaunchBehind_added()" class="hiddenlink" target="rightframe"><b>makeTaskLaunchBehind</b>
+()</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.notifyPlayStateChanged_added()" class="hiddenlink" target="rightframe"><b>notifyPlayStateChanged</b>
+()</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>obtain</i><br>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain_added(int, int, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, int, boolean</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat
+</A></nobr><br>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.obtain_added(int, int, int, int, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, int, int, int, boolean</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat
+</A></nobr><br>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.obtain_added(int, float, float, float)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, float, float, float</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat
+</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onAttachedToLayoutParams_added(android.support.design.widget.CoordinatorLayout.LayoutParams)" class="hiddenlink" target="rightframe"><b>onAttachedToLayoutParams</b>
+(<code>LayoutParams</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.onBindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" class="hiddenlink" target="rightframe"><b>onBindMediaPlayState</b>
+(<code>ViewHolder</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onChanged_added(int, int, java.lang.Object)" class="hiddenlink" target="rightframe"><b>onChanged</b>
+(<code>int, int, Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onDetachedFromLayoutParams_added()" class="hiddenlink" target="rightframe"><b>onDetachedFromLayoutParams</b>
+()</A></nobr><br>
+<i>onRequestChildRectangleOnScreen</i><br>
+ <nobr><A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html#android.support.design.widget.AppBarLayout.ScrollingViewBehavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, android.view.View, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, View, Rect, boolean</code>)</b> in android.support.design.widget.AppBarLayout.ScrollingViewBehavior
+</A></nobr><br>
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, V, Rect, boolean</code>)</b> in android.support.design.widget.CoordinatorLayout.Behavior
+</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.SharedElementCallback.html#android.support.v4.app.SharedElementCallback.onSharedElementsArrived_added(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener)" class="hiddenlink" target="rightframe"><b>onSharedElementsArrived</b>
+(<code>List<String>, List<View>, OnSharedElementsReadyListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.app.AppCompatDelegate.html#android.support.v7.app.AppCompatDelegate.onStart_added()" class="hiddenlink" target="rightframe"><b>onStart</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.onUnbindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" class="hiddenlink" target="rightframe"><b>onUnbindMediaPlayState</b>
+(<code>ViewHolder</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.removeTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" class="hiddenlink" target="rightframe"><b>removeTouchExplorationStateChangeListener</b>
+(<code>AccessibilityManager, TouchExplorationStateChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.requestUsageTimeReport_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>requestUsageTimeReport</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.setAction_added(android.view.accessibility.AccessibilityEvent, int)" class="hiddenlink" target="rightframe"><b>setAction</b>
+(<code>AccessibilityEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.setAlwaysUseBrowserUI_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>setAlwaysUseBrowserUI</b>
+(<code>Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.setAutoHideEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoHideEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CollapsingToolbarLayout.html#android.support.design.widget.CollapsingToolbarLayout.setCollapsedTitleTextColor_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setCollapsedTitleTextColor</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.setContextClickable_added(boolean)" class="hiddenlink" target="rightframe"><b>setContextClickable</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.app.ActionBarDrawerToggle.html#android.support.v7.app.ActionBarDrawerToggle.setDrawerArrowDrawable_added(android.support.v7.graphics.drawable.DrawerArrowDrawable)" class="hiddenlink" target="rightframe"><b>setDrawerArrowDrawable</b>
+(<code>DrawerArrowDrawable</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CollapsingToolbarLayout.html#android.support.design.widget.CollapsingToolbarLayout.setExpandedTitleTextColor_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setExpandedTitleTextColor</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.Builder.html#android.support.customtabs.CustomTabsIntent.Builder.setInstantAppsEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setInstantAppsEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.setLaunchBounds_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>setLaunchBounds</b>
+(<code>Rect</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.setMovementGranularity_added(android.view.accessibility.AccessibilityEvent, int)" class="hiddenlink" target="rightframe"><b>setMovementGranularity</b>
+(<code>AccessibilityEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.widget.SwipeRefreshLayout.html#android.support.v4.widget.SwipeRefreshLayout.setOnChildScrollUpCallback_added(android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback)" class="hiddenlink" target="rightframe"><b>setOnChildScrollUpCallback</b>
+(<code>OnChildScrollUpCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.widget.RecyclerView.html#android.support.v7.widget.RecyclerView.setOnFlingListener_added(android.support.v7.widget.RecyclerView.OnFlingListener)" class="hiddenlink" target="rightframe"><b>setOnFlingListener</b>
+(<code>OnFlingListener</code>)</A></nobr><br>
+<i>setPasswordVisibilityToggleContentDescription</i><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type <b>
+(<code>CharSequence</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<i>setPasswordVisibilityToggleDrawable</i><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type <b>
+(<code>Drawable</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintList_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleTintList</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintMode_added(android.graphics.PorterDuff.Mode)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleTintMode</b>
+(<code>Mode</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsSession.html#android.support.customtabs.CustomTabsSession.setSecondaryToolbarViews_added(android.widget.RemoteViews, int[], android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>setSecondaryToolbarViews</b>
+(<code>RemoteViews, int[], PendingIntent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.setSelectedMediaItemNumberView_added(int)" class="hiddenlink" target="rightframe"><b>setSelectedMediaItemNumberView</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.shouldAlwaysUseBrowserUI_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>shouldAlwaysUseBrowserUI</b>
+(<code>Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.stopForeground_added(android.app.Service, int)" class="hiddenlink" target="rightframe"><b>stopForeground</b>
+(<code>Service, int</code>)</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.session.PlaybackStateCompat.html#android.support.v4.media.session.PlaybackStateCompat.toKeyCode_added(long)" class="hiddenlink" target="rightframe"><b>toKeyCode</b>
+(<code>long</code>)</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_all.html b/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_all.html
new file mode 100644
index 0000000..a52d5c9
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_all.html
@@ -0,0 +1,579 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Methods</b>
+ <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.addAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe">addAccessibilityStateChangeListener
+(<code>AccessibilityManager, AccessibilityStateChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.addTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" class="hiddenlink" target="rightframe"><b>addTouchExplorationStateChangeListener</b>
+(<code>AccessibilityManager, TouchExplorationStateChangeListener</code>)</A></nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>buildMediaButtonPendingIntent</i><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaButtonReceiver.html#android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, android.content.ComponentName, long)" class="hiddenlink" target="rightframe">type <b>
+(<code>Context, ComponentName, long</code>)</b> in android.support.v4.media.session.MediaButtonReceiver
+</A></nobr><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaButtonReceiver.html#android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, long)" class="hiddenlink" target="rightframe">type <b>
+(<code>Context, long</code>)</b> in android.support.v4.media.session.MediaButtonReceiver
+</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.graphics.drawable.DrawableCompat.html#android.support.v4.graphics.drawable.DrawableCompat.clearColorFilter_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>clearColorFilter</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TabLayout.html#android.support.design.widget.TabLayout.clearOnTabSelectedListeners_added()" class="hiddenlink" target="rightframe"><b>clearOnTabSelectedListeners</b>
+()</A></nobr><br>
+<i>computeScrollVectorForPosition</i><br>
+ <nobr><A HREF="android.support.v7.widget.LinearSmoothScroller.html#android.support.v7.widget.LinearSmoothScroller.computeScrollVectorForPosition_changed(int)" class="hiddenlink" target="rightframe">type
+(<code>int</code>) in android.support.v7.widget.LinearSmoothScroller
+</A></nobr><br>
+ <nobr><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html#android.support.v7.widget.StaggeredGridLayoutManager.computeScrollVectorForPosition_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.v7.widget.StaggeredGridLayoutManager
+</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.dispatch_changed(android.view.KeyEvent, android.view.KeyEvent.Callback, java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">dispatch
+(<code>KeyEvent, Callback, Object, Object</code>)</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.FragmentController.html#android.support.v4.app.FragmentController.findFragmentByWho_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>findFragmentByWho</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.findPointerIndex_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">findPointerIndex
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html#android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItem_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromMediaItem</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html#android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItemList_added(java.util.List<?>)" class="hiddenlink" target="rightframe"><b>fromMediaItemList</b>
+(<code>List<?></code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.html#android.support.v4.media.session.MediaSessionCompat.fromMediaSession_added(android.content.Context, java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromMediaSession</b>
+(<code>Context, Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItem_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>fromQueueItem</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItemList_added(java.util.List<?>)" class="hiddenlink" target="rightframe"><b>fromQueueItemList</b>
+(<code>List<?></code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.getAction_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>getAction</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.widget.TextViewCompat.html#android.support.v4.widget.TextViewCompat.getCompoundDrawablesRelative_added(android.widget.TextView)" class="hiddenlink" target="rightframe"><b>getCompoundDrawablesRelative</b>
+(<code>TextView</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.html#android.support.design.widget.CoordinatorLayout.getDependents_added(android.view.View)" class="hiddenlink" target="rightframe"><b>getDependents</b>
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html#android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.getDescription_changed(android.accessibilityservice.AccessibilityServiceInfo)" class="hiddenlink" target="rightframe">getDescription
+(<code>AccessibilityServiceInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.graphics.Palette.html#android.support.v7.graphics.Palette.getDominantColor_added(int)" class="hiddenlink" target="rightframe"><b>getDominantColor</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.graphics.Palette.html#android.support.v7.graphics.Palette.getDominantSwatch_added()" class="hiddenlink" target="rightframe"><b>getDominantSwatch</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v7.content.res.AppCompatResources.html#android.support.v7.content.res.AppCompatResources.getDrawable_added(android.content.Context, int)" class="hiddenlink" target="rightframe"><b>getDrawable</b>
+(<code>Context, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.app.ActionBarDrawerToggle.html#android.support.v7.app.ActionBarDrawerToggle.getDrawerArrowDrawable_added()" class="hiddenlink" target="rightframe"><b>getDrawerArrowDrawable</b>
+()</A></nobr><br>
+<i>getInsetDodgeRect</i><br>
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, V, Rect</code>)</b> in android.support.design.widget.CoordinatorLayout.Behavior
+</A></nobr><br>
+ <nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.graphics.Rect)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, FloatingActionButton, Rect</code>)</b> in android.support.design.widget.FloatingActionButton.Behavior
+</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.getKeyDispatcherState_changed(android.view.View)" class="hiddenlink" target="rightframe">getKeyDispatcherState
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.getLaunchBounds_added()" class="hiddenlink" target="rightframe"><b>getLaunchBounds</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemNumberViewFlipper_added()" class="hiddenlink" target="rightframe"><b>getMediaItemNumberViewFlipper</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPausedView_added()" class="hiddenlink" target="rightframe"><b>getMediaItemPausedView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPlayingView_added()" class="hiddenlink" target="rightframe"><b>getMediaItemPlayingView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.getMediaPlayState_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>getMediaPlayState</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.getMovementGranularity_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>getMovementGranularity</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.widget.RecyclerView.html#android.support.v7.widget.RecyclerView.getOnFlingListener_added()" class="hiddenlink" target="rightframe"><b>getOnFlingListener</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.getOverScrollMode_changed(android.view.View)" class="hiddenlink" target="rightframe">getOverScrollMode
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleContentDescription_added()" class="hiddenlink" target="rightframe"><b>getPasswordVisibilityToggleContentDescription</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleDrawable_added()" class="hiddenlink" target="rightframe"><b>getPasswordVisibilityToggleDrawable</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getPointerCount_changed(android.view.MotionEvent)" class="hiddenlink" target="rightframe">getPointerCount
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getPointerId_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getPointerId
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityCompat.html#android.support.v4.app.ActivityCompat.getReferrer_changed(android.app.Activity)" class="hiddenlink" target="rightframe">getReferrer
+(<code>Activity</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewConfigurationCompat.html#android.support.v4.view.ViewConfigurationCompat.getScaledPagingTouchSlop_changed(android.view.ViewConfiguration)" class="hiddenlink" target="rightframe">getScaledPagingTouchSlop
+(<code>ViewConfiguration</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.getSelectionMode_added()" class="hiddenlink" target="rightframe"><b>getSelectionMode</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getSource_changed(android.view.MotionEvent)" class="hiddenlink" target="rightframe">getSource
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getX_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getX
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getY_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getY
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.os.BuildCompat.html#android.support.v4.os.BuildCompat.isAtLeastNMR1_added()" class="hiddenlink" target="rightframe"><b>isAtLeastNMR1</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.isAutoHideEnabled_added()" class="hiddenlink" target="rightframe"><b>isAutoHideEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.isContextClickable_added()" class="hiddenlink" target="rightframe"><b>isContextClickable</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.isDirty_changed(android.support.design.widget.CoordinatorLayout, V)" class="hiddenlink" target="rightframe">isDirty
+(<code>CoordinatorLayout, V</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.ObjectAdapter.html#android.support.v17.leanback.widget.ObjectAdapter.isImmediateNotifySupported_added()" class="hiddenlink" target="rightframe"><b>isImmediateNotifySupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.isImportantForAccessibility_added(android.view.View)" class="hiddenlink" target="rightframe"><b>isImportantForAccessibility</b>
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.isOpaque_changed(android.view.View)" class="hiddenlink" target="rightframe">isOpaque
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.isPasswordVisibilityToggleEnabled_added()" class="hiddenlink" target="rightframe"><b>isPasswordVisibilityToggleEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.isTracking_changed(android.view.KeyEvent)" class="hiddenlink" target="rightframe">isTracking
+(<code>KeyEvent</code>)</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.layoutDependsOn_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)" class="hiddenlink" target="rightframe"><strike>layoutDependsOn</strike>
+(<code>CoordinatorLayout, FloatingActionButton, View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html#android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.loadDescription_added(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager)" class="hiddenlink" target="rightframe"><b>loadDescription</b>
+(<code>AccessibilityServiceInfo, PackageManager</code>)</A></nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeBasic_added()" class="hiddenlink" target="rightframe"><b>makeBasic</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeClipRevealAnimation_added(android.view.View, int, int, int, int)" class="hiddenlink" target="rightframe"><b>makeClipRevealAnimation</b>
+(<code>View, int, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.makeTaskLaunchBehind_added()" class="hiddenlink" target="rightframe"><b>makeTaskLaunchBehind</b>
+()</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.notifyPlayStateChanged_added()" class="hiddenlink" target="rightframe"><b>notifyPlayStateChanged</b>
+()</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>obtain</i><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.html#android.support.v4.media.session.MediaSessionCompat.obtain_changed(android.content.Context, java.lang.Object)" class="hiddenlink" target="rightframe">type
+(<code>Context, Object</code>) in android.support.v4.media.session.MediaSessionCompat
+</A></nobr><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type
+(<code>Object</code>) in android.support.v4.media.session.MediaSessionCompat.QueueItem
+</A></nobr><br>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain_added(int, int, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, int, boolean</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat
+</A></nobr><br>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.obtain_added(int, int, int, int, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, int, int, int, boolean</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat
+</A></nobr><br>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.obtain_added(int, float, float, float)" class="hiddenlink" target="rightframe">type <b>
+(<code>int, float, float, float</code>)</b> in android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat
+</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.onAccessibilityStateChanged_removed(boolean)" class="hiddenlink" target="rightframe"><strike>onAccessibilityStateChanged</strike>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onAttachedToLayoutParams_added(android.support.design.widget.CoordinatorLayout.LayoutParams)" class="hiddenlink" target="rightframe"><b>onAttachedToLayoutParams</b>
+(<code>LayoutParams</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.onBindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" class="hiddenlink" target="rightframe"><b>onBindMediaPlayState</b>
+(<code>ViewHolder</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onChanged_added(int, int, java.lang.Object)" class="hiddenlink" target="rightframe"><b>onChanged</b>
+(<code>int, int, Object</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.onDependentViewRemoved_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)" class="hiddenlink" target="rightframe"><strike>onDependentViewRemoved</strike>
+(<code>CoordinatorLayout, FloatingActionButton, View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onDetachedFromLayoutParams_added()" class="hiddenlink" target="rightframe"><b>onDetachedFromLayoutParams</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onInserted_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onInserted</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onMoved_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onMoved</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onRemoved_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onRemoved</strike>
+(<code>int, int</code>)</A></nobr><br>
+<i>onRequestChildRectangleOnScreen</i><br>
+ <nobr><A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html#android.support.design.widget.AppBarLayout.ScrollingViewBehavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, android.view.View, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, View, Rect, boolean</code>)</b> in android.support.design.widget.AppBarLayout.ScrollingViewBehavior
+</A></nobr><br>
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type <b>
+(<code>CoordinatorLayout, V, Rect, boolean</code>)</b> in android.support.design.widget.CoordinatorLayout.Behavior
+</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.SharedElementCallback.html#android.support.v4.app.SharedElementCallback.onSharedElementsArrived_added(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener)" class="hiddenlink" target="rightframe"><b>onSharedElementsArrived</b>
+(<code>List<String>, List<View>, OnSharedElementsReadyListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.app.AppCompatDelegate.html#android.support.v7.app.AppCompatDelegate.onStart_added()" class="hiddenlink" target="rightframe"><b>onStart</b>
+()</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.onUnbindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)" class="hiddenlink" target="rightframe"><b>onUnbindMediaPlayState</b>
+(<code>ViewHolder</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v7.widget.LinearLayoutManager.html#android.support.v7.widget.LinearLayoutManager.prepareForDrop_removed(android.view.View, android.view.View, int, int)" class="hiddenlink" target="rightframe"><strike>prepareForDrop</strike>
+(<code>View, View, int, int</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#S"><font size="-2">S</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.removeAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe">removeAccessibilityStateChangeListener
+(<code>AccessibilityManager, AccessibilityStateChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.removeTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)" class="hiddenlink" target="rightframe"><b>removeTouchExplorationStateChangeListener</b>
+(<code>AccessibilityManager, TouchExplorationStateChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.requestUsageTimeReport_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>requestUsageTimeReport</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#T"><font size="-2">T</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.setAction_added(android.view.accessibility.AccessibilityEvent, int)" class="hiddenlink" target="rightframe"><b>setAction</b>
+(<code>AccessibilityEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.setAlwaysUseBrowserUI_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>setAlwaysUseBrowserUI</b>
+(<code>Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.setAutoHideEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoHideEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CollapsingToolbarLayout.html#android.support.design.widget.CollapsingToolbarLayout.setCollapsedTitleTextColor_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setCollapsedTitleTextColor</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html#android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.setContextClickable_added(boolean)" class="hiddenlink" target="rightframe"><b>setContextClickable</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.app.ActionBarDrawerToggle.html#android.support.v7.app.ActionBarDrawerToggle.setDrawerArrowDrawable_added(android.support.v7.graphics.drawable.DrawerArrowDrawable)" class="hiddenlink" target="rightframe"><b>setDrawerArrowDrawable</b>
+(<code>DrawerArrowDrawable</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.CollapsingToolbarLayout.html#android.support.design.widget.CollapsingToolbarLayout.setExpandedTitleTextColor_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setExpandedTitleTextColor</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.Builder.html#android.support.customtabs.CustomTabsIntent.Builder.setInstantAppsEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setInstantAppsEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html#android.support.v4.app.ActivityOptionsCompat.setLaunchBounds_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>setLaunchBounds</b>
+(<code>Rect</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html#android.support.v4.view.accessibility.AccessibilityEventCompat.setMovementGranularity_added(android.view.accessibility.AccessibilityEvent, int)" class="hiddenlink" target="rightframe"><b>setMovementGranularity</b>
+(<code>AccessibilityEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.widget.SwipeRefreshLayout.html#android.support.v4.widget.SwipeRefreshLayout.setOnChildScrollUpCallback_added(android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback)" class="hiddenlink" target="rightframe"><b>setOnChildScrollUpCallback</b>
+(<code>OnChildScrollUpCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.widget.SearchViewCompat.html#android.support.v4.widget.SearchViewCompat.setOnCloseListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnCloseListener)" class="hiddenlink" target="rightframe">setOnCloseListener
+(<code>View, OnCloseListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.widget.RecyclerView.html#android.support.v7.widget.RecyclerView.setOnFlingListener_added(android.support.v7.widget.RecyclerView.OnFlingListener)" class="hiddenlink" target="rightframe"><b>setOnFlingListener</b>
+(<code>OnFlingListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.widget.SearchViewCompat.html#android.support.v4.widget.SearchViewCompat.setOnQueryTextListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnQueryTextListener)" class="hiddenlink" target="rightframe">setOnQueryTextListener
+(<code>View, OnQueryTextListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.setOverScrollMode_changed(android.view.View, int)" class="hiddenlink" target="rightframe">setOverScrollMode
+(<code>View, int</code>)</A></nobr><br>
+<i>setPasswordVisibilityToggleContentDescription</i><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type <b>
+(<code>CharSequence</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<i>setPasswordVisibilityToggleDrawable</i><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type <b>
+(<code>Drawable</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(int)" class="hiddenlink" target="rightframe">type <b>
+(<code>int</code>)</b> in android.support.design.widget.TextInputLayout
+</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintList_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleTintList</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.TextInputLayout.html#android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintMode_added(android.graphics.PorterDuff.Mode)" class="hiddenlink" target="rightframe"><b>setPasswordVisibilityToggleTintMode</b>
+(<code>Mode</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsSession.html#android.support.customtabs.CustomTabsSession.setSecondaryToolbarViews_added(android.widget.RemoteViews, int[], android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>setSecondaryToolbarViews</b>
+(<code>RemoteViews, int[], PendingIntent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html#android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.setSelectedMediaItemNumberView_added(int)" class="hiddenlink" target="rightframe"><b>setSelectedMediaItemNumberView</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsSession.html#android.support.customtabs.CustomTabsSession.setToolbarItem_changed(int, android.graphics.Bitmap, java.lang.String)" class="hiddenlink" target="rightframe">setToolbarItem
+(<code>int, Bitmap, String</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsIntent.html#android.support.customtabs.CustomTabsIntent.shouldAlwaysUseBrowserUI_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>shouldAlwaysUseBrowserUI</b>
+(<code>Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.startTracking_changed(android.view.KeyEvent)" class="hiddenlink" target="rightframe">startTracking
+(<code>KeyEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ServiceCompat.html#android.support.v4.app.ServiceCompat.stopForeground_added(android.app.Service, int)" class="hiddenlink" target="rightframe"><b>stopForeground</b>
+(<code>Service, int</code>)</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#B"><font size="-2">B</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#M"><font size="-2">M</font></a>
+<a href="#N"><font size="-2">N</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.media.session.PlaybackStateCompat.html#android.support.v4.media.session.PlaybackStateCompat.toKeyCode_added(long)" class="hiddenlink" target="rightframe"><b>toKeyCode</b>
+(<code>long</code>)</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_changes.html b/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_changes.html
new file mode 100644
index 0000000..5faae42
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_changes.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+ <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<b>Changes</b>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.addAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe">addAccessibilityStateChangeListener
+(<code>AccessibilityManager, AccessibilityStateChangeListener</code>)</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v7.widget.LinearSmoothScroller.html#android.support.v7.widget.LinearSmoothScroller.computeScrollVectorForPosition_changed(int)" class="hiddenlink" target="rightframe">computeScrollVectorForPosition
+(<code>int</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.dispatch_changed(android.view.KeyEvent, android.view.KeyEvent.Callback, java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">dispatch
+(<code>KeyEvent, Callback, Object, Object</code>)</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.findPointerIndex_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">findPointerIndex
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html#android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.getDescription_changed(android.accessibilityservice.AccessibilityServiceInfo)" class="hiddenlink" target="rightframe">getDescription
+(<code>AccessibilityServiceInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.getKeyDispatcherState_changed(android.view.View)" class="hiddenlink" target="rightframe">getKeyDispatcherState
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.getOverScrollMode_changed(android.view.View)" class="hiddenlink" target="rightframe">getOverScrollMode
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getPointerCount_changed(android.view.MotionEvent)" class="hiddenlink" target="rightframe">getPointerCount
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getPointerId_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getPointerId
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.app.ActivityCompat.html#android.support.v4.app.ActivityCompat.getReferrer_changed(android.app.Activity)" class="hiddenlink" target="rightframe">getReferrer
+(<code>Activity</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewConfigurationCompat.html#android.support.v4.view.ViewConfigurationCompat.getScaledPagingTouchSlop_changed(android.view.ViewConfiguration)" class="hiddenlink" target="rightframe">getScaledPagingTouchSlop
+(<code>ViewConfiguration</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getSource_changed(android.view.MotionEvent)" class="hiddenlink" target="rightframe">getSource
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getX_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getX
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.MotionEventCompat.html#android.support.v4.view.MotionEventCompat.getY_changed(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe">getY
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html#android.support.design.widget.CoordinatorLayout.Behavior.isDirty_changed(android.support.design.widget.CoordinatorLayout, V)" class="hiddenlink" target="rightframe">isDirty
+(<code>CoordinatorLayout, V</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.isOpaque_changed(android.view.View)" class="hiddenlink" target="rightframe">isOpaque
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.isTracking_changed(android.view.KeyEvent)" class="hiddenlink" target="rightframe">isTracking
+(<code>KeyEvent</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#R"><font size="-2">R</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>obtain</i><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.html#android.support.v4.media.session.MediaSessionCompat.obtain_changed(android.content.Context, java.lang.Object)" class="hiddenlink" target="rightframe">type
+(<code>Context, Object</code>) in android.support.v4.media.session.MediaSessionCompat
+</A></nobr><br>
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html#android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type
+(<code>Object</code>) in android.support.v4.media.session.MediaSessionCompat.QueueItem
+</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#S"><font size="-2">S</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.removeAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe">removeAccessibilityStateChangeListener
+(<code>AccessibilityManager, AccessibilityStateChangeListener</code>)</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>
+<a href="#A"><font size="-2">A</font></a>
+<a href="#C"><font size="-2">C</font></a>
+<a href="#D"><font size="-2">D</font></a>
+<a href="#F"><font size="-2">F</font></a>
+<a href="#G"><font size="-2">G</font></a>
+<a href="#I"><font size="-2">I</font></a>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#R"><font size="-2">R</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.widget.SearchViewCompat.html#android.support.v4.widget.SearchViewCompat.setOnCloseListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnCloseListener)" class="hiddenlink" target="rightframe">setOnCloseListener
+(<code>View, OnCloseListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.widget.SearchViewCompat.html#android.support.v4.widget.SearchViewCompat.setOnQueryTextListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnQueryTextListener)" class="hiddenlink" target="rightframe">setOnQueryTextListener
+(<code>View, OnQueryTextListener</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.ViewCompat.html#android.support.v4.view.ViewCompat.setOverScrollMode_changed(android.view.View, int)" class="hiddenlink" target="rightframe">setOverScrollMode
+(<code>View, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.customtabs.CustomTabsSession.html#android.support.customtabs.CustomTabsSession.setToolbarItem_changed(int, android.graphics.Bitmap, java.lang.String)" class="hiddenlink" target="rightframe">setToolbarItem
+(<code>int, Bitmap, String</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v4.view.KeyEventCompat.html#android.support.v4.view.KeyEventCompat.startTracking_changed(android.view.KeyEvent)" class="hiddenlink" target="rightframe">startTracking
+(<code>KeyEvent</code>)</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_removals.html b/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_removals.html
new file mode 100644
index 0000000..062ac8f
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/methods_index_removals.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+ <br>
+<b>Removals</b>
+ <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="L"></A>
+<br><font size="+2">L</font>
+<a href="#O"><font size="-2">O</font></a>
+<a href="#P"><font size="-2">P</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.layoutDependsOn_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)" class="hiddenlink" target="rightframe"><strike>layoutDependsOn</strike>
+(<code>CoordinatorLayout, FloatingActionButton, View</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#P"><font size="-2">P</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html#android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.onAccessibilityStateChanged_removed(boolean)" class="hiddenlink" target="rightframe"><strike>onAccessibilityStateChanged</strike>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html#android.support.design.widget.FloatingActionButton.Behavior.onDependentViewRemoved_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)" class="hiddenlink" target="rightframe"><strike>onDependentViewRemoved</strike>
+(<code>CoordinatorLayout, FloatingActionButton, View</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onInserted_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onInserted</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onMoved_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onMoved</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.support.v7.util.SortedList.Callback.html#android.support.v7.util.SortedList.Callback.onRemoved_removed(int, int)" class="hiddenlink" target="rightframe"><strike>onRemoved</strike>
+(<code>int, int</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>
+<a href="#L"><font size="-2">L</font></a>
+<a href="#O"><font size="-2">O</font></a>
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.support.v7.widget.LinearLayoutManager.html#android.support.v7.widget.LinearLayoutManager.prepareForDrop_removed(android.view.View, android.view.View, int, int)" class="hiddenlink" target="rightframe"><strike>prepareForDrop</strike>
+(<code>View, View, int, int</code>)</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_additions.html b/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_additions.html
new file mode 100644
index 0000000..2eff0f7
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_additions.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+ <br>
+<A HREF="packages_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<b>Additions</b>
+ <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="changes-summary.html#android.support.transition" class="hiddenlink" target="rightframe"><b>android.support.transition</b></A><br>
+<A HREF="changes-summary.html#android.support.v4.text.util" class="hiddenlink" target="rightframe"><b>android.support.v4.text.util</b></A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_all.html b/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_all.html
new file mode 100644
index 0000000..58e51ed
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_all.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Packages</b>
+ <br>
+<A HREF="packages_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<A HREF="packages_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="pkg_android.support.customtabs.html" class="hiddenlink" target="rightframe">android.support.customtabs</A><br>
+<A HREF="pkg_android.support.design.widget.html" class="hiddenlink" target="rightframe">android.support.design.widget</A><br>
+<A HREF="changes-summary.html#android.support.transition" class="hiddenlink" target="rightframe"><b>android.support.transition</b></A><br>
+<A HREF="pkg_android.support.v14.preference.html" class="hiddenlink" target="rightframe">android.support.v14.preference</A><br>
+<A HREF="pkg_android.support.v17.leanback.widget.html" class="hiddenlink" target="rightframe">android.support.v17.leanback.widget</A><br>
+<A HREF="pkg_android.support.v17.preference.html" class="hiddenlink" target="rightframe">android.support.v17.preference</A><br>
+<A HREF="pkg_android.support.v4.accessibilityservice.html" class="hiddenlink" target="rightframe">android.support.v4.accessibilityservice</A><br>
+<A HREF="pkg_android.support.v4.app.html" class="hiddenlink" target="rightframe">android.support.v4.app</A><br>
+<A HREF="pkg_android.support.v4.content.html" class="hiddenlink" target="rightframe">android.support.v4.content</A><br>
+<A HREF="pkg_android.support.v4.graphics.drawable.html" class="hiddenlink" target="rightframe">android.support.v4.graphics.drawable</A><br>
+<A HREF="pkg_android.support.v4.media.html" class="hiddenlink" target="rightframe">android.support.v4.media</A><br>
+<A HREF="pkg_android.support.v4.media.session.html" class="hiddenlink" target="rightframe">android.support.v4.media.session</A><br>
+<A HREF="pkg_android.support.v4.os.html" class="hiddenlink" target="rightframe">android.support.v4.os</A><br>
+<A HREF="changes-summary.html#android.support.v4.text.util" class="hiddenlink" target="rightframe"><b>android.support.v4.text.util</b></A><br>
+<A HREF="pkg_android.support.v4.util.html" class="hiddenlink" target="rightframe">android.support.v4.util</A><br>
+<A HREF="pkg_android.support.v4.view.html" class="hiddenlink" target="rightframe">android.support.v4.view</A><br>
+<A HREF="pkg_android.support.v4.view.accessibility.html" class="hiddenlink" target="rightframe">android.support.v4.view.accessibility</A><br>
+<A HREF="pkg_android.support.v4.widget.html" class="hiddenlink" target="rightframe">android.support.v4.widget</A><br>
+<A HREF="pkg_android.support.v7.app.html" class="hiddenlink" target="rightframe">android.support.v7.app</A><br>
+<A HREF="changes-summary.html#android.support.v7.appcompat" class="hiddenlink" target="rightframe"><strike>android.support.v7.appcompat</strike></A><br>
+<A HREF="pkg_android.support.v7.content.res.html" class="hiddenlink" target="rightframe">android.support.v7.content.res</A><br>
+<A HREF="pkg_android.support.v7.graphics.html" class="hiddenlink" target="rightframe">android.support.v7.graphics</A><br>
+<A HREF="pkg_android.support.v7.preference.html" class="hiddenlink" target="rightframe">android.support.v7.preference</A><br>
+<A HREF="changes-summary.html#android.support.v7.recyclerview" class="hiddenlink" target="rightframe"><strike>android.support.v7.recyclerview</strike></A><br>
+<A HREF="pkg_android.support.v7.util.html" class="hiddenlink" target="rightframe">android.support.v7.util</A><br>
+<A HREF="pkg_android.support.v7.widget.html" class="hiddenlink" target="rightframe">android.support.v7.widget</A><br>
+<A HREF="changes-summary.html#android.support.v8.renderscript" class="hiddenlink" target="rightframe"><strike>android.support.v8.renderscript</strike></A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_changes.html b/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_changes.html
new file mode 100644
index 0000000..1d9e428
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_changes.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+ <br>
+<A HREF="packages_index_removals.html" xclass="hiddenlink">Removals</A>
+ <br>
+<A HREF="packages_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<b>Changes</b>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="pkg_android.support.customtabs.html" class="hiddenlink" target="rightframe">android.support.customtabs</A><br>
+<A HREF="pkg_android.support.design.widget.html" class="hiddenlink" target="rightframe">android.support.design.widget</A><br>
+<A HREF="pkg_android.support.v14.preference.html" class="hiddenlink" target="rightframe">android.support.v14.preference</A><br>
+<A HREF="pkg_android.support.v17.leanback.widget.html" class="hiddenlink" target="rightframe">android.support.v17.leanback.widget</A><br>
+<A HREF="pkg_android.support.v17.preference.html" class="hiddenlink" target="rightframe">android.support.v17.preference</A><br>
+<A HREF="pkg_android.support.v4.accessibilityservice.html" class="hiddenlink" target="rightframe">android.support.v4.accessibilityservice</A><br>
+<A HREF="pkg_android.support.v4.app.html" class="hiddenlink" target="rightframe">android.support.v4.app</A><br>
+<A HREF="pkg_android.support.v4.content.html" class="hiddenlink" target="rightframe">android.support.v4.content</A><br>
+<A HREF="pkg_android.support.v4.graphics.drawable.html" class="hiddenlink" target="rightframe">android.support.v4.graphics.drawable</A><br>
+<A HREF="pkg_android.support.v4.media.html" class="hiddenlink" target="rightframe">android.support.v4.media</A><br>
+<A HREF="pkg_android.support.v4.media.session.html" class="hiddenlink" target="rightframe">android.support.v4.media.session</A><br>
+<A HREF="pkg_android.support.v4.os.html" class="hiddenlink" target="rightframe">android.support.v4.os</A><br>
+<A HREF="pkg_android.support.v4.util.html" class="hiddenlink" target="rightframe">android.support.v4.util</A><br>
+<A HREF="pkg_android.support.v4.view.html" class="hiddenlink" target="rightframe">android.support.v4.view</A><br>
+<A HREF="pkg_android.support.v4.view.accessibility.html" class="hiddenlink" target="rightframe">android.support.v4.view.accessibility</A><br>
+<A HREF="pkg_android.support.v4.widget.html" class="hiddenlink" target="rightframe">android.support.v4.widget</A><br>
+<A HREF="pkg_android.support.v7.app.html" class="hiddenlink" target="rightframe">android.support.v7.app</A><br>
+<A HREF="pkg_android.support.v7.content.res.html" class="hiddenlink" target="rightframe">android.support.v7.content.res</A><br>
+<A HREF="pkg_android.support.v7.graphics.html" class="hiddenlink" target="rightframe">android.support.v7.graphics</A><br>
+<A HREF="pkg_android.support.v7.preference.html" class="hiddenlink" target="rightframe">android.support.v7.preference</A><br>
+<A HREF="pkg_android.support.v7.util.html" class="hiddenlink" target="rightframe">android.support.v7.util</A><br>
+<A HREF="pkg_android.support.v7.widget.html" class="hiddenlink" target="rightframe">android.support.v7.widget</A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_removals.html b/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_removals.html
new file mode 100644
index 0000000..d52d40d
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/packages_index_removals.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+ <tr>
+ <th class="indexHeader">
+ Filter the Index:
+ </th>
+ </tr>
+ <tr>
+ <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+ <br>
+<b>Removals</b>
+ <br>
+<A HREF="packages_index_additions.html"xclass="hiddenlink">Additions</A>
+ <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+ </td>
+ </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="changes-summary.html#android.support.v7.appcompat" class="hiddenlink" target="rightframe"><strike>android.support.v7.appcompat</strike></A><br>
+<A HREF="changes-summary.html#android.support.v7.recyclerview" class="hiddenlink" target="rightframe"><strike>android.support.v7.recyclerview</strike></A><br>
+<A HREF="changes-summary.html#android.support.v8.renderscript" class="hiddenlink" target="rightframe"><strike>android.support.v8.renderscript</strike></A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.customtabs.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.customtabs.html
new file mode 100644
index 0000000..5959d63
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.customtabs.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.customtabs
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/customtabs/package-summary.html" target="_top"><font size="+1"><code>android.support.customtabs</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="CustomTabsIntent"></A>
+ <nobr><A HREF="android.support.customtabs.CustomTabsIntent.html">CustomTabsIntent</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="CustomTabsIntent.Builder"></A>
+ <nobr><A HREF="android.support.customtabs.CustomTabsIntent.Builder.html">CustomTabsIntent.Builder</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="CustomTabsSession"></A>
+ <nobr><A HREF="android.support.customtabs.CustomTabsSession.html">CustomTabsSession</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.design.widget.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.design.widget.html
new file mode 100644
index 0000000..510b9bd2
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.design.widget.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.design.widget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/design/widget/package-summary.html" target="_top"><font size="+1"><code>android.support.design.widget</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppBarLayout.ScrollingViewBehavior"></A>
+ <nobr><A HREF="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.html">AppBarLayout.ScrollingViewBehavior</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="BottomSheetBehavior"></A>
+ <nobr><A HREF="android.support.design.widget.BottomSheetBehavior.html">BottomSheetBehavior</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="CollapsingToolbarLayout"></A>
+ <nobr><A HREF="android.support.design.widget.CollapsingToolbarLayout.html">CollapsingToolbarLayout</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="CoordinatorLayout"></A>
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.html">CoordinatorLayout</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="CoordinatorLayout.Behavior"></A>
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.Behavior.html">CoordinatorLayout.Behavior</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="CoordinatorLayout.LayoutParams"></A>
+ <nobr><A HREF="android.support.design.widget.CoordinatorLayout.LayoutParams.html">CoordinatorLayout.LayoutParams</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="FloatingActionButton.Behavior"></A>
+ <nobr><A HREF="android.support.design.widget.FloatingActionButton.Behavior.html">FloatingActionButton.Behavior</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="TabLayout"></A>
+ <nobr><A HREF="android.support.design.widget.TabLayout.html">TabLayout</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="TextInputLayout"></A>
+ <nobr><A HREF="android.support.design.widget.TextInputLayout.html">TextInputLayout</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v14.preference.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v14.preference.html
new file mode 100644
index 0000000..84efadc6
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v14.preference.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v14.preference
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v14/preference/package-summary.html" target="_top"><font size="+1"><code>android.support.v14.preference</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="PreferenceFragment"></A>
+ <nobr><A HREF="android.support.v14.preference.PreferenceFragment.html">PreferenceFragment</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v17.leanback.widget.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v17.leanback.widget.html
new file mode 100644
index 0000000..4ce1f32
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v17.leanback.widget.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v17.leanback.widget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v17/leanback/widget/package-summary.html" target="_top"><font size="+1"><code>android.support.v17.leanback.widget</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AbstractMediaItemPresenter"></A>
+ <nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.html">AbstractMediaItemPresenter</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AbstractMediaItemPresenter.ViewHolder"></A>
+ <nobr><A HREF="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.html">AbstractMediaItemPresenter.<br>ViewHolder</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ObjectAdapter"></A>
+ <nobr><A HREF="android.support.v17.leanback.widget.ObjectAdapter.html">ObjectAdapter</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v17.preference.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v17.preference.html
new file mode 100644
index 0000000..ad0aaddf
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v17.preference.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v17.preference
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v17/preference/package-summary.html" target="_top"><font size="+1"><code>android.support.v17.preference</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="LeanbackSettingsFragment"></A>
+ <nobr><A HREF="android.support.v17.preference.LeanbackSettingsFragment.html">LeanbackSettingsFragment</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.accessibilityservice.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.accessibilityservice.html
new file mode 100644
index 0000000..e904a76
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.accessibilityservice.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.accessibilityservice
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/accessibilityservice/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.accessibilityservice</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityServiceInfoCompat"></A>
+ <nobr><A HREF="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.html">AccessibilityServiceInfoCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.app.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.app.html
new file mode 100644
index 0000000..f8e4cb1
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.app.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.app
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/app/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.app</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Interfaces" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SharedElementCallback.OnSharedElementsReadyListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/app/SharedElementCallback.OnSharedElementsReadyListener.html" target="_top"><code><I>SharedElementCallback.<br>OnSharedElementsReadyListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ActivityCompat"></A>
+ <nobr><A HREF="android.support.v4.app.ActivityCompat.html">ActivityCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ActivityOptionsCompat"></A>
+ <nobr><A HREF="android.support.v4.app.ActivityOptionsCompat.html">ActivityOptionsCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="FragmentController"></A>
+ <nobr><A HREF="android.support.v4.app.FragmentController.html">FragmentController</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ServiceCompat"></A>
+ <nobr><A HREF="android.support.v4.app.ServiceCompat.html">ServiceCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SharedElementCallback"></A>
+ <nobr><A HREF="android.support.v4.app.SharedElementCallback.html">SharedElementCallback</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.content.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.content.html
new file mode 100644
index 0000000..31aa1da
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.content.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.content
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/content/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.content</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ContextCompat"></A>
+ <nobr><A HREF="android.support.v4.content.ContextCompat.html">ContextCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.graphics.drawable.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.graphics.drawable.html
new file mode 100644
index 0000000..b1efab3
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.graphics.drawable.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.graphics.drawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/graphics/drawable/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.graphics.drawable</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="DrawableCompat"></A>
+ <nobr><A HREF="android.support.v4.graphics.drawable.DrawableCompat.html">DrawableCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.media.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.media.html
new file mode 100644
index 0000000..612a1a0
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.media.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/media/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.media</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="MediaBrowserCompat.MediaItem"></A>
+ <nobr><A HREF="android.support.v4.media.MediaBrowserCompat.MediaItem.html">MediaBrowserCompat.MediaItem</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="MediaBrowserServiceCompat.BrowserRoot"></A>
+ <nobr><A HREF="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.html">MediaBrowserServiceCompat.<br>BrowserRoot</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="MediaDescriptionCompat"></A>
+ <nobr><A HREF="android.support.v4.media.MediaDescriptionCompat.html">MediaDescriptionCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="MediaMetadataCompat"></A>
+ <nobr><A HREF="android.support.v4.media.MediaMetadataCompat.html">MediaMetadataCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.media.session.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.media.session.html
new file mode 100644
index 0000000..3e46335
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.media.session.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.media.session
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/media/session/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.media.session</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="MediaButtonReceiver"></A>
+ <nobr><A HREF="android.support.v4.media.session.MediaButtonReceiver.html">MediaButtonReceiver</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="MediaSessionCompat"></A>
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.html">MediaSessionCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="MediaSessionCompat.QueueItem"></A>
+ <nobr><A HREF="android.support.v4.media.session.MediaSessionCompat.QueueItem.html">MediaSessionCompat.QueueItem</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="PlaybackStateCompat"></A>
+ <nobr><A HREF="android.support.v4.media.session.PlaybackStateCompat.html">PlaybackStateCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.os.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.os.html
new file mode 100644
index 0000000..b250855
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.os.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.os
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/os/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.os</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="BuildCompat"></A>
+ <nobr><A HREF="android.support.v4.os.BuildCompat.html">BuildCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.util.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.util.html
new file mode 100644
index 0000000..d34506ea
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.util.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/util/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.util</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="PatternsCompat"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/util/PatternsCompat.html" target="_top"><code>PatternsCompat</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.view.accessibility.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.view.accessibility.html
new file mode 100644
index 0000000..a6362fb
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.view.accessibility.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view.accessibility
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/view/accessibility/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.view.accessibility</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Interfaces" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityManagerCompat.AccessibilityStateChangeListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityManagerCompat.AccessibilityStateChangeListener.html" target="_top"><code><I>AccessibilityManagerCompat.<br>AccessibilityStateChangeListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityManagerCompat.TouchExplorationStateChangeListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/view/accessibility/AccessibilityManagerCompat.TouchExplorationStateChangeListener.html" target="_top"><code><I>AccessibilityManagerCompat.<br>TouchExplorationStateChangeListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityEventCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityEventCompat.html">AccessibilityEventCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityManagerCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.html">AccessibilityManagerCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.html">AccessibilityManagerCompat.<br>AccessibilityStateChangeListenerCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityNodeInfoCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.html">AccessibilityNodeInfoCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityNodeInfoCompat.AccessibilityActionCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.html">AccessibilityNodeInfoCompat.<br>AccessibilityActionCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityNodeInfoCompat.CollectionInfoCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.html">AccessibilityNodeInfoCompat.<br>CollectionInfoCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityNodeInfoCompat.CollectionItemInfoCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.html">AccessibilityNodeInfoCompat.<br>CollectionItemInfoCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityNodeInfoCompat.RangeInfoCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.html">AccessibilityNodeInfoCompat.<br>RangeInfoCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityNodeProviderCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.html">AccessibilityNodeProviderCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AccessibilityWindowInfoCompat"></A>
+ <nobr><A HREF="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.html">AccessibilityWindowInfoCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.view.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.view.html
new file mode 100644
index 0000000..10b1334
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.view.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.view
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/view/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.view</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="KeyEventCompat"></A>
+ <nobr><A HREF="android.support.v4.view.KeyEventCompat.html">KeyEventCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="MotionEventCompat"></A>
+ <nobr><A HREF="android.support.v4.view.MotionEventCompat.html">MotionEventCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ViewCompat"></A>
+ <nobr><A HREF="android.support.v4.view.ViewCompat.html">ViewCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ViewConfigurationCompat"></A>
+ <nobr><A HREF="android.support.v4.view.ViewConfigurationCompat.html">ViewConfigurationCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="WindowInsetsCompat"></A>
+ <nobr><A HREF="android.support.v4.view.WindowInsetsCompat.html">WindowInsetsCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.widget.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.widget.html
new file mode 100644
index 0000000..5ed0f65
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v4.widget.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v4.widget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v4/widget/package-summary.html" target="_top"><font size="+1"><code>android.support.v4.widget</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Interfaces" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SearchViewCompat.OnCloseListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/widget/SearchViewCompat.OnCloseListener.html" target="_top"><code><I>SearchViewCompat.OnCloseListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SearchViewCompat.OnQueryTextListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/widget/SearchViewCompat.OnQueryTextListener.html" target="_top"><code><I>SearchViewCompat.OnQueryTextListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SwipeRefreshLayout.OnChildScrollUpCallback"></A>
+ <nobr><A HREF="../../../../reference/android/support/v4/widget/SwipeRefreshLayout.OnChildScrollUpCallback.html" target="_top"><code><I>SwipeRefreshLayout.OnChildScrollUpCallback</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SearchViewCompat"></A>
+ <nobr><A HREF="android.support.v4.widget.SearchViewCompat.html">SearchViewCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SearchViewCompat.OnCloseListenerCompat"></A>
+ <nobr><A HREF="android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat.html">SearchViewCompat.OnCloseListenerCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SearchViewCompat.OnQueryTextListenerCompat"></A>
+ <nobr><A HREF="android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat.html">SearchViewCompat.OnQueryTextListenerCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SwipeRefreshLayout"></A>
+ <nobr><A HREF="android.support.v4.widget.SwipeRefreshLayout.html">SwipeRefreshLayout</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="TextViewCompat"></A>
+ <nobr><A HREF="android.support.v4.widget.TextViewCompat.html">TextViewCompat</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.app.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.app.html
new file mode 100644
index 0000000..8eb58aa
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.app.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.app
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v7/app/package-summary.html" target="_top"><font size="+1"><code>android.support.v7.app</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ActionBarActivity"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/app/ActionBarActivity.html" target="_top"><code>ActionBarActivity</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatActivity"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/app/AppCompatActivity.html" target="_top"><code>AppCompatActivity</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatDialogFragment"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/app/AppCompatDialogFragment.html" target="_top"><code>AppCompatDialogFragment</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="NotificationCompat"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/app/NotificationCompat.html" target="_top"><code>NotificationCompat</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="NotificationCompat.Builder"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/app/NotificationCompat.Builder.html" target="_top"><code>NotificationCompat.Builder</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="NotificationCompat.MediaStyle"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/app/NotificationCompat.MediaStyle.html" target="_top"><code>NotificationCompat.MediaStyle</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ActionBarDrawerToggle"></A>
+ <nobr><A HREF="android.support.v7.app.ActionBarDrawerToggle.html">ActionBarDrawerToggle</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatDelegate"></A>
+ <nobr><A HREF="android.support.v7.app.AppCompatDelegate.html">AppCompatDelegate</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.content.res.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.content.res.html
new file mode 100644
index 0000000..90787f7
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.content.res.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.content.res
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v7/content/res/package-summary.html" target="_top"><font size="+1"><code>android.support.v7.content.res</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatResources"></A>
+ <nobr><A HREF="android.support.v7.content.res.AppCompatResources.html">AppCompatResources</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.graphics.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.graphics.html
new file mode 100644
index 0000000..bd9cf24
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.graphics.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.graphics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v7/graphics/package-summary.html" target="_top"><font size="+1"><code>android.support.v7.graphics</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="Palette"></A>
+ <nobr><A HREF="android.support.v7.graphics.Palette.html">Palette</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.preference.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.preference.html
new file mode 100644
index 0000000..b80e005
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.preference.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.preference
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v7/preference/package-summary.html" target="_top"><font size="+1"><code>android.support.v7.preference</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="MultiSelectListPreferenceDialogFragmentCompat"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/preference/MultiSelectListPreferenceDialogFragmentCompat.html" target="_top"><code>MultiSelectListPreferenceDialogFragmentCompat</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.util.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.util.html
new file mode 100644
index 0000000..365022f
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.util.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v7/util/package-summary.html" target="_top"><font size="+1"><code>android.support.v7.util</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="BatchingListUpdateCallback"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/util/BatchingListUpdateCallback.html" target="_top"><code>BatchingListUpdateCallback</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="DiffUtil"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/util/DiffUtil.html" target="_top"><code>DiffUtil</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="DiffUtil.Callback"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/util/DiffUtil.Callback.html" target="_top"><code>DiffUtil.Callback</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="DiffUtil.DiffResult"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/util/DiffUtil.DiffResult.html" target="_top"><code>DiffUtil.DiffResult</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ListUpdateCallback"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/util/ListUpdateCallback.html" target="_top"><code><I>ListUpdateCallback</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SortedList.Callback"></A>
+ <nobr><A HREF="android.support.v7.util.SortedList.Callback.html">SortedList.Callback</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.widget.html b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.widget.html
new file mode 100644
index 0000000..e07d5b8
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/changes/pkg_android.support.v7.widget.html
@@ -0,0 +1,463 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.support.v7.widget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+ <div id="headerRight">
+ <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- <a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+ <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td colspan="2" class="diffspechead">API Diff Specification</td>
+ </tr>
+ <tr>
+ <td class="diffspec" style="padding-top:.25em">To Level:</td>
+ <td class="diffvaluenew" style="padding-top:.25em">24.2.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">From Level:</td>
+ <td class="diffvalueold">24.1.0</td>
+ </tr>
+ <tr>
+ <td class="diffspec">Generated</td>
+ <td class="diffvalue">2016.08.16 14:03</td>
+ </tr>
+ </table>
+ </div><!-- End and-diff-id -->
+ <div class="and-diff-id" style="margin-right:8px;">
+ <table class="diffspectable">
+ <tr>
+ <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+ </tr>
+ </table>
+ </div> <!-- End and-diff-id -->
+ </div> <!-- End headerRight -->
+ </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/support/v7/widget/package-summary.html" target="_top"><font size="+1"><code>android.support.v7.widget</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ActionMenuView"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/ActionMenuView.html" target="_top"><code>ActionMenuView</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ActionMenuView.LayoutParams"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/ActionMenuView.LayoutParams.html" target="_top"><code>ActionMenuView.LayoutParams</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ActionMenuView.OnMenuItemClickListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/ActionMenuView.OnMenuItemClickListener.html" target="_top"><code><I>ActionMenuView.OnMenuItemClickListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatAutoCompleteTextView"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatAutoCompleteTextView.html" target="_top"><code>AppCompatAutoCompleteTextView</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatButton"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatButton.html" target="_top"><code>AppCompatButton</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatCheckBox"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatCheckBox.html" target="_top"><code>AppCompatCheckBox</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatCheckedTextView"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatCheckedTextView.html" target="_top"><code>AppCompatCheckedTextView</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatEditText"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatEditText.html" target="_top"><code>AppCompatEditText</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatImageButton"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatImageButton.html" target="_top"><code>AppCompatImageButton</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatImageView"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatImageView.html" target="_top"><code>AppCompatImageView</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatMultiAutoCompleteTextView"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatMultiAutoCompleteTextView.html" target="_top"><code>AppCompatMultiAutoCompleteTextView</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatRadioButton"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatRadioButton.html" target="_top"><code>AppCompatRadioButton</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatRatingBar"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatRatingBar.html" target="_top"><code>AppCompatRatingBar</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatSeekBar"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatSeekBar.html" target="_top"><code>AppCompatSeekBar</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatSpinner"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatSpinner.html" target="_top"><code>AppCompatSpinner</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="AppCompatTextView"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/AppCompatTextView.html" target="_top"><code>AppCompatTextView</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="CardView"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/CardView.html" target="_top"><code>CardView</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="GridLayout"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/GridLayout.html" target="_top"><code>GridLayout</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="GridLayout.Alignment"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/GridLayout.Alignment.html" target="_top"><code>GridLayout.Alignment</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="GridLayout.LayoutParams"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/GridLayout.LayoutParams.html" target="_top"><code>GridLayout.LayoutParams</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="GridLayout.Spec"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/GridLayout.Spec.html" target="_top"><code>GridLayout.Spec</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="LinearLayoutCompat"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/LinearLayoutCompat.html" target="_top"><code>LinearLayoutCompat</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="LinearLayoutCompat.LayoutParams"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/LinearLayoutCompat.LayoutParams.html" target="_top"><code>LinearLayoutCompat.LayoutParams</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="LinearSnapHelper"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/LinearSnapHelper.html" target="_top"><code>LinearSnapHelper</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ListPopupWindow"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/ListPopupWindow.html" target="_top"><code>ListPopupWindow</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="PopupMenu"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/PopupMenu.html" target="_top"><code>PopupMenu</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="PopupMenu.OnDismissListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/PopupMenu.OnDismissListener.html" target="_top"><code><I>PopupMenu.OnDismissListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="PopupMenu.OnMenuItemClickListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/PopupMenu.OnMenuItemClickListener.html" target="_top"><code><I>PopupMenu.OnMenuItemClickListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="RecyclerView.OnFlingListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/RecyclerView.OnFlingListener.html" target="_top"><code>RecyclerView.OnFlingListener</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="RecyclerView.SmoothScroller.ScrollVectorProvider"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/RecyclerView.SmoothScroller.ScrollVectorProvider.html" target="_top"><code><I>RecyclerView.SmoothScroller.<br>ScrollVectorProvider</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SearchView"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/SearchView.html" target="_top"><code>SearchView</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SearchView.OnCloseListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/SearchView.OnCloseListener.html" target="_top"><code><I>SearchView.OnCloseListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SearchView.OnQueryTextListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/SearchView.OnQueryTextListener.html" target="_top"><code><I>SearchView.OnQueryTextListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SearchView.OnSuggestionListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/SearchView.OnSuggestionListener.html" target="_top"><code><I>SearchView.OnSuggestionListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ShareActionProvider"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/ShareActionProvider.html" target="_top"><code>ShareActionProvider</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ShareActionProvider.OnShareTargetSelectedListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/ShareActionProvider.OnShareTargetSelectedListener.html" target="_top"><code><I>ShareActionProvider.OnShareTargetSelectedListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SnapHelper"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/SnapHelper.html" target="_top"><code>SnapHelper</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="Space"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/Space.html" target="_top"><code>Space</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="SwitchCompat"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/SwitchCompat.html" target="_top"><code>SwitchCompat</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ThemedSpinnerAdapter"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/ThemedSpinnerAdapter.html" target="_top"><code><I>ThemedSpinnerAdapter</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="ThemedSpinnerAdapter.Helper"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/ThemedSpinnerAdapter.Helper.html" target="_top"><code>ThemedSpinnerAdapter.Helper</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="Toolbar"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/Toolbar.html" target="_top"><code>Toolbar</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="Toolbar.LayoutParams"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/Toolbar.LayoutParams.html" target="_top"><code>Toolbar.LayoutParams</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="Toolbar.OnMenuItemClickListener"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/Toolbar.OnMenuItemClickListener.html" target="_top"><code><I>Toolbar.OnMenuItemClickListener</I></code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="Toolbar.SavedState"></A>
+ <nobr><A HREF="../../../../reference/android/support/v7/widget/Toolbar.SavedState.html" target="_top"><code>Toolbar.SavedState</code></A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+ <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="LinearLayoutManager"></A>
+ <nobr><A HREF="android.support.v7.widget.LinearLayoutManager.html">LinearLayoutManager</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="LinearSmoothScroller"></A>
+ <nobr><A HREF="android.support.v7.widget.LinearSmoothScroller.html">LinearSmoothScroller</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="RecyclerView"></A>
+ <nobr><A HREF="android.support.v7.widget.RecyclerView.html">RecyclerView</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+ <TD VALIGN="TOP" WIDTH="25%">
+ <A NAME="StaggeredGridLayoutManager"></A>
+ <nobr><A HREF="android.support.v7.widget.StaggeredGridLayoutManager.html">StaggeredGridLayoutManager</A></nobr>
+ </TD>
+ <TD> </TD>
+</TR>
+</TABLE>
+
+ </div>
+ <div id="footer">
+ <div id="copyright">
+ Except as noted, this content is licensed under
+ <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+ For details and restrictions, see the <a href="/license.html">Content License</a>.
+ </div>
+ <div id="footerlinks">
+ <p>
+ <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+ <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+ <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+ </p>
+ </div>
+ </div> <!-- end footer -->
+ </div><!-- end doc-content -->
+ </div> <!-- end body-content -->
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-5831155-1");
+ pageTracker._setAllowAnchor(true);
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/support_api_diff/24.2.0/missingSinces.txt b/docs/html/sdk/support_api_diff/24.2.0/missingSinces.txt
new file mode 100644
index 0000000..9514985
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/missingSinces.txt
@@ -0,0 +1,183 @@
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener Interface
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener Interface
+NO DOC BLOCK: android.support.v7.app.ActionBarActivity Class
+NO DOC BLOCK: android.support.v7.widget.ActionMenuView Class
+NO DOC BLOCK: android.support.v7.widget.ActionMenuView.LayoutParams Class
+NO DOC BLOCK: android.support.v7.widget.ActionMenuView.OnMenuItemClickListener Interface
+NO DOC BLOCK: android.support.v7.app.AppCompatActivity Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatAutoCompleteTextView Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatButton Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatCheckBox Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatCheckedTextView Class
+NO DOC BLOCK: android.support.v7.app.AppCompatDialogFragment Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatEditText Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatImageButton Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatImageView Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatMultiAutoCompleteTextView Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatRadioButton Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatRatingBar Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatSeekBar Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatSpinner Class
+NO DOC BLOCK: android.support.v7.widget.AppCompatTextView Class
+NO DOC BLOCK: android.support.v7.util.BatchingListUpdateCallback Class
+NO DOC BLOCK: android.support.v7.widget.CardView Class
+NO DOC BLOCK: android.support.v7.util.DiffUtil Class
+NO DOC BLOCK: android.support.v7.util.DiffUtil.Callback Class
+NO DOC BLOCK: android.support.v7.util.DiffUtil.DiffResult Class
+NO DOC BLOCK: android.support.v7.widget.GridLayout Class
+NO DOC BLOCK: android.support.v7.widget.GridLayout.Alignment Class
+NO DOC BLOCK: android.support.v7.widget.GridLayout.LayoutParams Class
+NO DOC BLOCK: android.support.v7.widget.GridLayout.Spec Class
+NO DOC BLOCK: android.support.v7.widget.LinearLayoutCompat Class
+NO DOC BLOCK: android.support.v7.widget.LinearLayoutCompat.LayoutParams Class
+NO DOC BLOCK: android.support.v7.widget.LinearSnapHelper Class
+NO DOC BLOCK: android.support.v7.widget.ListPopupWindow Class
+NO DOC BLOCK: android.support.v7.util.ListUpdateCallback Interface
+NO DOC BLOCK: android.support.v7.preference.MultiSelectListPreferenceDialogFragmentCompat Class
+NO DOC BLOCK: android.support.v7.app.NotificationCompat Class
+NO DOC BLOCK: android.support.v7.app.NotificationCompat.Builder Class
+NO DOC BLOCK: android.support.v7.app.NotificationCompat.MediaStyle Class
+NO DOC BLOCK: android.support.v4.util.PatternsCompat Class
+NO DOC BLOCK: android.support.v7.widget.PopupMenu Class
+NO DOC BLOCK: android.support.v7.widget.PopupMenu.OnDismissListener Interface
+NO DOC BLOCK: android.support.v7.widget.PopupMenu.OnMenuItemClickListener Interface
+NO DOC BLOCK: android.support.v7.widget.RecyclerView.OnFlingListener Class
+NO DOC BLOCK: android.support.v7.widget.RecyclerView.SmoothScroller.ScrollVectorProvider Interface
+NO DOC BLOCK: android.support.v7.widget.SearchView Class
+NO DOC BLOCK: android.support.v7.widget.SearchView.OnCloseListener Interface
+NO DOC BLOCK: android.support.v7.widget.SearchView.OnQueryTextListener Interface
+NO DOC BLOCK: android.support.v7.widget.SearchView.OnSuggestionListener Interface
+NO DOC BLOCK: android.support.v4.widget.SearchViewCompat.OnCloseListener Interface
+NO DOC BLOCK: android.support.v4.widget.SearchViewCompat.OnQueryTextListener Interface
+NO DOC BLOCK: android.support.v7.widget.ShareActionProvider Class
+NO DOC BLOCK: android.support.v7.widget.ShareActionProvider.OnShareTargetSelectedListener Interface
+NO DOC BLOCK: android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener Interface
+NO DOC BLOCK: android.support.v7.widget.SnapHelper Class
+NO DOC BLOCK: android.support.v7.widget.Space Class
+NO DOC BLOCK: android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback Interface
+NO DOC BLOCK: android.support.v7.widget.SwitchCompat Class
+NO DOC BLOCK: android.support.v7.widget.ThemedSpinnerAdapter Interface
+NO DOC BLOCK: android.support.v7.widget.ThemedSpinnerAdapter.Helper Class
+NO DOC BLOCK: android.support.v7.widget.Toolbar Class
+NO DOC BLOCK: android.support.v7.widget.Toolbar.LayoutParams Class
+NO DOC BLOCK: android.support.v7.widget.Toolbar.OnMenuItemClickListener Interface
+NO DOC BLOCK: android.support.v7.widget.Toolbar.SavedState Class
+NO DOC BLOCK: android.support.v4.view.WindowInsetsCompat Constructor (android.support.v4.view.WindowInsetsCompat)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityManagerCompat Method addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)
+NO DOC BLOCK: android.support.v4.media.session.MediaButtonReceiver Method buildMediaButtonPendingIntent(android.content.Context, android.content.ComponentName, long)
+NO DOC BLOCK: android.support.v4.media.session.MediaButtonReceiver Method buildMediaButtonPendingIntent(android.content.Context, long)
+NO DOC BLOCK: android.support.v4.graphics.drawable.DrawableCompat Method clearColorFilter(android.graphics.drawable.Drawable)
+NO DOC BLOCK: android.support.design.widget.TabLayout Method clearOnTabSelectedListeners()
+NO DOC BLOCK: android.support.v7.widget.StaggeredGridLayoutManager Method computeScrollVectorForPosition(int)
+NO DOC BLOCK: android.support.v4.app.FragmentController Method findFragmentByWho(java.lang.String)
+NO DOC BLOCK: android.support.v4.media.MediaBrowserCompat.MediaItem Method fromMediaItem(java.lang.Object)
+NO DOC BLOCK: android.support.v4.media.MediaBrowserCompat.MediaItem Method fromMediaItemList(java.util.List<?>)
+NO DOC BLOCK: android.support.v4.media.session.MediaSessionCompat Method fromMediaSession(android.content.Context, java.lang.Object)
+NO DOC BLOCK: android.support.v4.media.session.MediaSessionCompat.QueueItem Method fromQueueItem(java.lang.Object)
+NO DOC BLOCK: android.support.v4.media.session.MediaSessionCompat.QueueItem Method fromQueueItemList(java.util.List<?>)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityEventCompat Method getAction(android.view.accessibility.AccessibilityEvent)
+NO DOC BLOCK: android.support.v4.widget.TextViewCompat Method getCompoundDrawablesRelative(android.widget.TextView)
+NO DOC BLOCK: android.support.design.widget.CoordinatorLayout Method getDependents(android.view.View)
+NO DOC BLOCK: android.support.v7.graphics.Palette Method getDominantColor(int)
+NO DOC BLOCK: android.support.v7.graphics.Palette Method getDominantSwatch()
+NO DOC BLOCK: android.support.v7.content.res.AppCompatResources Method getDrawable(android.content.Context, int)
+NO DOC BLOCK: android.support.v7.app.ActionBarDrawerToggle Method getDrawerArrowDrawable()
+NO DOC BLOCK: android.support.design.widget.CoordinatorLayout.Behavior Method getInsetDodgeRect(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect)
+NO DOC BLOCK: android.support.design.widget.FloatingActionButton.Behavior Method getInsetDodgeRect(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.graphics.Rect)
+NO DOC BLOCK: android.support.v4.app.ActivityOptionsCompat Method getLaunchBounds()
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder Method getMediaItemNumberViewFlipper()
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder Method getMediaItemPausedView()
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder Method getMediaItemPlayingView()
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter Method getMediaPlayState(java.lang.Object)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityEventCompat Method getMovementGranularity(android.view.accessibility.AccessibilityEvent)
+NO DOC BLOCK: android.support.v7.widget.RecyclerView Method getOnFlingListener()
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method getPasswordVisibilityToggleContentDescription()
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method getPasswordVisibilityToggleDrawable()
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat Method getSelectionMode()
+NO DOC BLOCK: android.support.v4.os.BuildCompat Method isAtLeastNMR1()
+NO DOC BLOCK: android.support.design.widget.FloatingActionButton.Behavior Method isAutoHideEnabled()
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat Method isContextClickable()
+NO DOC BLOCK: android.support.v17.leanback.widget.ObjectAdapter Method isImmediateNotifySupported()
+NO DOC BLOCK: android.support.v4.view.ViewCompat Method isImportantForAccessibility(android.view.View)
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method isPasswordVisibilityToggleEnabled()
+NO DOC BLOCK: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat Method loadDescription(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager)
+NO DOC BLOCK: android.support.v4.app.ActivityOptionsCompat Method makeBasic()
+NO DOC BLOCK: android.support.v4.app.ActivityOptionsCompat Method makeClipRevealAnimation(android.view.View, int, int, int, int)
+NO DOC BLOCK: android.support.v4.app.ActivityOptionsCompat Method makeTaskLaunchBehind()
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder Method notifyPlayStateChanged()
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat Method obtain(int, int, boolean)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat Method obtain(int, int, int, int, boolean)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat Method obtain(int, float, float, float)
+NO DOC BLOCK: android.support.design.widget.CoordinatorLayout.Behavior Method onAttachedToLayoutParams(android.support.design.widget.CoordinatorLayout.LayoutParams)
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter Method onBindMediaPlayState(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)
+NO DOC BLOCK: android.support.v7.util.SortedList.Callback Method onChanged(int, int, java.lang.Object)
+NO DOC BLOCK: android.support.design.widget.CoordinatorLayout.Behavior Method onDetachedFromLayoutParams()
+NO DOC BLOCK: android.support.design.widget.AppBarLayout.ScrollingViewBehavior Method onRequestChildRectangleOnScreen(android.support.design.widget.CoordinatorLayout, android.view.View, android.graphics.Rect, boolean)
+NO DOC BLOCK: android.support.design.widget.CoordinatorLayout.Behavior Method onRequestChildRectangleOnScreen(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect, boolean)
+NO DOC BLOCK: android.support.v4.app.SharedElementCallback Method onSharedElementsArrived(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener)
+NO DOC BLOCK: android.support.v7.app.AppCompatDelegate Method onStart()
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter Method onUnbindMediaPlayState(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityManagerCompat Method removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)
+NO DOC BLOCK: android.support.v4.app.ActivityOptionsCompat Method requestUsageTimeReport(android.app.PendingIntent)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityEventCompat Method setAction(android.view.accessibility.AccessibilityEvent, int)
+NO DOC BLOCK: android.support.customtabs.CustomTabsIntent Method setAlwaysUseBrowserUI(android.content.Intent)
+NO DOC BLOCK: android.support.design.widget.FloatingActionButton.Behavior Method setAutoHideEnabled(boolean)
+NO DOC BLOCK: android.support.design.widget.CollapsingToolbarLayout Method setCollapsedTitleTextColor(android.content.res.ColorStateList)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat Method setContextClickable(boolean)
+NO DOC BLOCK: android.support.v7.app.ActionBarDrawerToggle Method setDrawerArrowDrawable(android.support.v7.graphics.drawable.DrawerArrowDrawable)
+NO DOC BLOCK: android.support.design.widget.CollapsingToolbarLayout Method setExpandedTitleTextColor(android.content.res.ColorStateList)
+NO DOC BLOCK: android.support.customtabs.CustomTabsIntent.Builder Method setInstantAppsEnabled(boolean)
+NO DOC BLOCK: android.support.v4.app.ActivityOptionsCompat Method setLaunchBounds(android.graphics.Rect)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityEventCompat Method setMovementGranularity(android.view.accessibility.AccessibilityEvent, int)
+NO DOC BLOCK: android.support.v4.widget.SwipeRefreshLayout Method setOnChildScrollUpCallback(android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback)
+NO DOC BLOCK: android.support.v7.widget.RecyclerView Method setOnFlingListener(android.support.v7.widget.RecyclerView.OnFlingListener)
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method setPasswordVisibilityToggleContentDescription(int)
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method setPasswordVisibilityToggleContentDescription(java.lang.CharSequence)
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method setPasswordVisibilityToggleDrawable(android.graphics.drawable.Drawable)
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method setPasswordVisibilityToggleDrawable(int)
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method setPasswordVisibilityToggleEnabled(boolean)
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method setPasswordVisibilityToggleTintList(android.content.res.ColorStateList)
+NO DOC BLOCK: android.support.design.widget.TextInputLayout Method setPasswordVisibilityToggleTintMode(android.graphics.PorterDuff.Mode)
+NO DOC BLOCK: android.support.customtabs.CustomTabsSession Method setSecondaryToolbarViews(android.widget.RemoteViews, int[], android.app.PendingIntent)
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder Method setSelectedMediaItemNumberView(int)
+NO DOC BLOCK: android.support.customtabs.CustomTabsIntent Method shouldAlwaysUseBrowserUI(android.content.Intent)
+NO DOC BLOCK: android.support.v4.app.ServiceCompat Method stopForeground(android.app.Service, int)
+NO DOC BLOCK: android.support.v4.media.session.PlaybackStateCompat Method toKeyCode(long)
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat Field ACTION_ARGUMENT_COLUMN_INT
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat Field ACTION_ARGUMENT_PROGRESS_VALUE
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat Field ACTION_ARGUMENT_ROW_INT
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat Field ACTION_CONTEXT_CLICK
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat Field ACTION_SCROLL_DOWN
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat Field ACTION_SCROLL_LEFT
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat Field ACTION_SCROLL_RIGHT
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat Field ACTION_SCROLL_TO_POSITION
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat Field ACTION_SCROLL_UP
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat Field ACTION_SET_PROGRESS
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat Field ACTION_SHOW_ON_SCREEN
+NO DOC BLOCK: android.support.v4.media.MediaDescriptionCompat Field BT_FOLDER_TYPE_ALBUMS
+NO DOC BLOCK: android.support.v4.media.MediaDescriptionCompat Field BT_FOLDER_TYPE_ARTISTS
+NO DOC BLOCK: android.support.v4.media.MediaDescriptionCompat Field BT_FOLDER_TYPE_GENRES
+NO DOC BLOCK: android.support.v4.media.MediaDescriptionCompat Field BT_FOLDER_TYPE_MIXED
+NO DOC BLOCK: android.support.v4.media.MediaDescriptionCompat Field BT_FOLDER_TYPE_PLAYLISTS
+NO DOC BLOCK: android.support.v4.media.MediaDescriptionCompat Field BT_FOLDER_TYPE_TITLES
+NO DOC BLOCK: android.support.v4.media.MediaDescriptionCompat Field BT_FOLDER_TYPE_YEARS
+NO DOC BLOCK: android.support.design.widget.CoordinatorLayout.LayoutParams Field dodgeInsetEdges
+NO DOC BLOCK: android.support.v4.media.MediaDescriptionCompat Field EXTRA_BT_FOLDER_TYPE
+NO DOC BLOCK: android.support.customtabs.CustomTabsIntent Field EXTRA_ENABLE_INSTANT_APPS
+NO DOC BLOCK: android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot Field EXTRA_SUGGESTION_KEYWORDS
+NO DOC BLOCK: android.support.v4.app.ActivityOptionsCompat Field EXTRA_USAGE_TIME_REPORT
+NO DOC BLOCK: android.support.v4.app.ActivityOptionsCompat Field EXTRA_USAGE_TIME_REPORT_PACKAGES
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityNodeProviderCompat Field HOST_VIEW_ID
+NO DOC BLOCK: android.support.design.widget.CoordinatorLayout.LayoutParams Field insetEdge
+NO DOC BLOCK: android.support.v4.media.MediaMetadataCompat Field METADATA_KEY_BT_FOLDER_TYPE
+NO DOC BLOCK: android.support.v4.media.MediaMetadataCompat Field METADATA_KEY_MEDIA_URI
+NO DOC BLOCK: android.support.design.widget.BottomSheetBehavior Field PEEK_HEIGHT_AUTO
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter Field PLAY_STATE_INITIAL
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter Field PLAY_STATE_PAUSED
+NO DOC BLOCK: android.support.v17.leanback.widget.AbstractMediaItemPresenter Field PLAY_STATE_PLAYING
+NO DOC BLOCK: android.support.v4.app.ServiceCompat Field STOP_FOREGROUND_DETACH
+NO DOC BLOCK: android.support.v4.app.ServiceCompat Field STOP_FOREGROUND_REMOVE
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityEventCompat Field TYPE_ASSIST_READING_CONTEXT
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityWindowInfoCompat Field TYPE_SPLIT_SCREEN_DIVIDER
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityEventCompat Field TYPE_VIEW_CONTEXT_CLICKED
+NO DOC BLOCK: android.support.v4.view.accessibility.AccessibilityEventCompat Field TYPE_WINDOWS_CHANGED
diff --git a/docs/html/sdk/support_api_diff/24.2.0/stylesheet-jdiff.css b/docs/html/sdk/support_api_diff/24.2.0/stylesheet-jdiff.css
new file mode 100644
index 0000000..edafaa3
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/stylesheet-jdiff.css
@@ -0,0 +1,44 @@
+
+/* (http://www.jdiff.org) */
+
+div.and-diff-id {border: 1px solid #eee;position:relative;float:right;clear:both;padding:0px;}
+table.diffspectable {border:1px;padding:0px;margin:0px;}
+.diffspechead {background-color:#eee;}
+.diffspectable tr {border:0px;padding:0px;}
+.diffspectable td {background-color:eee;border:0px;font-size:90%;font-weight:normal;padding:0px;padding-left:1px;padding-right:1px;text-align:center;color:777;}
+td.diffvalueold {color:orange;background-color:white;border:0px;font-size:80%;font-style:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffvaluenew {color:green;background-color:white;border:0px;font-size:80%;font-weight:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffvalue {color:444;background-color:white;border:0px;font-size:80%;font-weight:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffspec {background-color:white;border:0px;font-size:80%;font-weight:normal;padding:1px;color:444;text-align:right;padding-right:.5em;line-height:.95em;}
+tt {font-size:11pt;font-family:monospace;}
+.indexHeader {
+ font-size:96%;
+ line-height:.8em;}
+.jdiffIndex td {
+ font-size:96%;
+ xline-height:.8em;
+ padding:2px;
+ padding-left:1em;}
+.indexText {
+ font-size:100%;
+ padding-left:1em;}
+#indexTableCaption {
+ font-size:96%;
+ margin-top:.25em;
+ margin-bottom:0;
+ }
+.hiddenlink {
+ font-size:96%;
+ line-height:.8em;
+ text-decoration:none;}
+a {
+ text-decoration:none;}
+a:hover {
+ text-decoration:underline;}
+.indexBox {
+ border: 1px solid red;
+ margin:1em 0 0 0;}
+.letterIndexHead {
+ font-size: 1.5em;font-weight:9;
+ margin:0 0 0em 0;
+ border: 1px solid red;}
diff --git a/docs/html/sdk/support_api_diff/24.2.0/user_comments_for_24.1.0_to_24.2.0.xml b/docs/html/sdk/support_api_diff/24.2.0/user_comments_for_24.1.0_to_24.2.0.xml
new file mode 100644
index 0000000..5a1bfc6
--- /dev/null
+++ b/docs/html/sdk/support_api_diff/24.2.0/user_comments_for_24.1.0_to_24.2.0.xml
@@ -0,0 +1,1897 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<comments
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+ xsi:noNamespaceSchemaLocation='comments.xsd'
+ name="24.1.0_to_24.2.0"
+ jdversion="1.1.0">
+
+<!-- Use this file to enter an API change description. For example, when you remove a class,
+ you can enter a comment for that class that points developers to the replacement class.
+ You can also provide a change summary for modified API, to give an overview of the changes
+ why they were made, workarounds, etc. -->
+
+<!-- When the API diffs report is generated, the comments in this file get added to the tables of
+ removed, added, and modified packages, classes, methods, and fields. This file does not ship
+ with the final report. -->
+
+<!-- The id attribute in an identifier element identifies the change as noted in the report.
+ An id has the form package[.class[.[ctor|method|field].signature]], where [] indicates optional
+ text. A comment element can have multiple identifier elements, which will will cause the same
+ text to appear at each place in the report, but will be converted to separate comments when the
+ comments file is used. -->
+
+<!-- HTML tags in the text field will appear in the report. You also need to close p HTML elements,
+ used for paragraphs - see the top-level documentation. -->
+
+<!-- You can include standard javadoc links in your change descriptions. You can use the @first command
+ to cause jdiff to include the first line of the API documentation. You also need to close p HTML
+ elements, used for paragraphs - see the top-level documentation. -->
+
+<comment>
+ <identifier id="android.support.customtabs"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.customtabs.CustomTabsIntent"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.customtabs.CustomTabsIntent.Builder"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.customtabs.CustomTabsIntent.Builder.setInstantAppsEnabled_added(boolean)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.customtabs.CustomTabsIntent.EXTRA_ENABLE_INSTANT_APPS"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.customtabs.CustomTabsIntent.setAlwaysUseBrowserUI_added(android.content.Intent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.customtabs.CustomTabsIntent.shouldAlwaysUseBrowserUI_added(android.content.Intent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.customtabs.CustomTabsSession"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.customtabs.CustomTabsSession.setSecondaryToolbarViews_added(android.widget.RemoteViews, int[], android.app.PendingIntent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.customtabs.CustomTabsSession.setToolbarItem_changed(int, android.graphics.Bitmap, java.lang.String)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.AppBarLayout.ScrollingViewBehavior"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.AppBarLayout.ScrollingViewBehavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, android.view.View, android.graphics.Rect, boolean)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.BottomSheetBehavior"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.BottomSheetBehavior.PEEK_HEIGHT_AUTO"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CollapsingToolbarLayout"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CollapsingToolbarLayout.setCollapsedTitleTextColor_added(android.content.res.ColorStateList)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CollapsingToolbarLayout.setExpandedTitleTextColor_added(android.content.res.ColorStateList)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.Behavior"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.Behavior.isDirty_changed(android.support.design.widget.CoordinatorLayout, V)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.Behavior.onAttachedToLayoutParams_added(android.support.design.widget.CoordinatorLayout.LayoutParams)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.Behavior.onDetachedFromLayoutParams_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.Behavior.onRequestChildRectangleOnScreen_added(android.support.design.widget.CoordinatorLayout, V, android.graphics.Rect, boolean)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.LayoutParams"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.LayoutParams.dodgeInsetEdges"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.LayoutParams.insetEdge"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.CoordinatorLayout.getDependents_added(android.view.View)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.FloatingActionButton.Behavior"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.FloatingActionButton.Behavior.getInsetDodgeRect_added(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.graphics.Rect)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.FloatingActionButton.Behavior.isAutoHideEnabled_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.FloatingActionButton.Behavior.layoutDependsOn_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.FloatingActionButton.Behavior.onDependentViewRemoved_removed(android.support.design.widget.CoordinatorLayout, android.support.design.widget.FloatingActionButton, android.view.View)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.FloatingActionButton.Behavior.setAutoHideEnabled_added(boolean)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TabLayout"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TabLayout.clearOnTabSelectedListeners_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleContentDescription_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.getPasswordVisibilityToggleDrawable_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.isPasswordVisibilityToggleEnabled_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleContentDescription_added(java.lang.CharSequence)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(android.graphics.drawable.Drawable)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleDrawable_added(int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleEnabled_added(boolean)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintList_added(android.content.res.ColorStateList)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.design.widget.TextInputLayout.setPasswordVisibilityToggleTintMode_added(android.graphics.PorterDuff.Mode)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.transition"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v14.preference"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v14.preference.PreferenceFragment"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_INITIAL"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PAUSED"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.PLAY_STATE_PLAYING"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemNumberViewFlipper_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPausedView_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.getMediaItemPlayingView_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.notifyPlayStateChanged_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder.setSelectedMediaItemNumberView_added(int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.getMediaPlayState_added(java.lang.Object)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.onBindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.AbstractMediaItemPresenter.onUnbindMediaPlayState_added(android.support.v17.leanback.widget.AbstractMediaItemPresenter.ViewHolder)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.ObjectAdapter"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.leanback.widget.ObjectAdapter.isImmediateNotifySupported_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.preference"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v17.preference.LeanbackSettingsFragment"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.accessibilityservice"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.getDescription_changed(android.accessibilityservice.AccessibilityServiceInfo)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat.loadDescription_added(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityCompat.ctor_changed()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityCompat.getReferrer_changed(android.app.Activity)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityOptionsCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityOptionsCompat.EXTRA_USAGE_TIME_REPORT_PACKAGES"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityOptionsCompat.getLaunchBounds_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityOptionsCompat.makeBasic_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityOptionsCompat.makeClipRevealAnimation_added(android.view.View, int, int, int, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityOptionsCompat.makeTaskLaunchBehind_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityOptionsCompat.requestUsageTimeReport_added(android.app.PendingIntent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ActivityOptionsCompat.setLaunchBounds_added(android.graphics.Rect)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.FragmentController"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.FragmentController.findFragmentByWho_added(java.lang.String)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ServiceCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ServiceCompat.STOP_FOREGROUND_DETACH"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ServiceCompat.STOP_FOREGROUND_REMOVE"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.ServiceCompat.stopForeground_added(android.app.Service, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.SharedElementCallback"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.app.SharedElementCallback.onSharedElementsArrived_added(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.content"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.content.ContextCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.content.ContextCompat.ctor_changed()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.graphics.drawable"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.graphics.drawable.DrawableCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.graphics.drawable.DrawableCompat.clearColorFilter_added(android.graphics.drawable.Drawable)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaBrowserCompat.MediaItem"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItemList_added(java.util.List<?>)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaBrowserCompat.MediaItem.fromMediaItem_added(java.lang.Object)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaBrowserServiceCompat.BrowserRoot.EXTRA_SUGGESTION_KEYWORDS"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaDescriptionCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ALBUMS"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_ARTISTS"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_GENRES"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_MIXED"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_PLAYLISTS"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_TITLES"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaDescriptionCompat.BT_FOLDER_TYPE_YEARS"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaDescriptionCompat.EXTRA_BT_FOLDER_TYPE"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaMetadataCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaMetadataCompat.METADATA_KEY_BT_FOLDER_TYPE"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.MediaMetadataCompat.METADATA_KEY_MEDIA_URI"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaButtonReceiver"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, android.content.ComponentName, long)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaButtonReceiver.buildMediaButtonPendingIntent_added(android.content.Context, long)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaSessionCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaSessionCompat.QueueItem"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItemList_added(java.util.List<?>)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaSessionCompat.QueueItem.fromQueueItem_added(java.lang.Object)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain_changed(java.lang.Object)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaSessionCompat.fromMediaSession_added(android.content.Context, java.lang.Object)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.MediaSessionCompat.obtain_changed(android.content.Context, java.lang.Object)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.PlaybackStateCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.media.session.PlaybackStateCompat.toKeyCode_added(long)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.os"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.os.BuildCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.os.BuildCompat.isAtLeastNMR1_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.text.util"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.util"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.util.PatternsCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.KeyEventCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.KeyEventCompat.dispatch_changed(android.view.KeyEvent, android.view.KeyEvent.Callback, java.lang.Object, java.lang.Object)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.KeyEventCompat.getKeyDispatcherState_changed(android.view.View)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.KeyEventCompat.isTracking_changed(android.view.KeyEvent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.KeyEventCompat.startTracking_changed(android.view.KeyEvent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.MotionEventCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.MotionEventCompat.findPointerIndex_changed(android.view.MotionEvent, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.MotionEventCompat.getPointerCount_changed(android.view.MotionEvent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.MotionEventCompat.getPointerId_changed(android.view.MotionEvent, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.MotionEventCompat.getSource_changed(android.view.MotionEvent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.MotionEventCompat.getX_changed(android.view.MotionEvent, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.MotionEventCompat.getY_changed(android.view.MotionEvent, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewCompat.OVER_SCROLL_ALWAYS"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewCompat.OVER_SCROLL_IF_CONTENT_SCROLLS"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewCompat.OVER_SCROLL_NEVER"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewCompat.getOverScrollMode_changed(android.view.View)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewCompat.isImportantForAccessibility_added(android.view.View)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewCompat.isOpaque_changed(android.view.View)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewCompat.setOverScrollMode_changed(android.view.View, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewConfigurationCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.ViewConfigurationCompat.getScaledPagingTouchSlop_changed(android.view.ViewConfiguration)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.WindowInsetsCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.WindowInsetsCompat.ctor_added(android.support.v4.view.WindowInsetsCompat)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityEventCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_ASSIST_READING_CONTEXT"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_VIEW_CONTEXT_CLICKED"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityEventCompat.TYPE_WINDOWS_CHANGED"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityEventCompat.getAction_added(android.view.accessibility.AccessibilityEvent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityEventCompat.getMovementGranularity_added(android.view.accessibility.AccessibilityEvent)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityEventCompat.setAction_added(android.view.accessibility.AccessibilityEvent, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityEventCompat.setMovementGranularity_added(android.view.accessibility.AccessibilityEvent, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityManagerCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat.onAccessibilityStateChanged_removed(boolean)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityManagerCompat.addAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityManagerCompat.addTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityManagerCompat.removeAccessibilityStateChangeListener_changed(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityManagerCompat.removeTouchExplorationStateChangeListener_added(android.view.accessibility.AccessibilityManager, android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_COLUMN_INT"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_PROGRESS_VALUE"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_ROW_INT"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CONTEXT_CLICK"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_DOWN"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_LEFT"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_RIGHT"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_TO_POSITION"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SCROLL_UP"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SET_PROGRESS"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_SHOW_ON_SCREEN"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.getSelectionMode_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain_added(int, int, boolean)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat.obtain_added(int, int, int, int, boolean)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat.obtain_added(int, float, float, float)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.isContextClickable_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.setContextClickable_added(boolean)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityNodeProviderCompat.HOST_VIEW_ID"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.view.accessibility.AccessibilityWindowInfoCompat.TYPE_SPLIT_SCREEN_DIVIDER"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SearchViewCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SearchViewCompat.OnCloseListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SearchViewCompat.OnCloseListenerCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SearchViewCompat.OnQueryTextListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SearchViewCompat.OnQueryTextListenerCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SearchViewCompat.setOnCloseListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnCloseListener)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SearchViewCompat.setOnQueryTextListener_changed(android.view.View, android.support.v4.widget.SearchViewCompat.OnQueryTextListener)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SwipeRefreshLayout"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.SwipeRefreshLayout.setOnChildScrollUpCallback_added(android.support.v4.widget.SwipeRefreshLayout.OnChildScrollUpCallback)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.TextViewCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v4.widget.TextViewCompat.getCompoundDrawablesRelative_added(android.widget.TextView)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.ActionBarActivity"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.ActionBarDrawerToggle"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.ActionBarDrawerToggle.getDrawerArrowDrawable_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.ActionBarDrawerToggle.setDrawerArrowDrawable_added(android.support.v7.graphics.drawable.DrawerArrowDrawable)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.AppCompatActivity"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.AppCompatDelegate"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.AppCompatDelegate.onStart_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.AppCompatDialogFragment"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.NotificationCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.NotificationCompat.Builder"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.app.NotificationCompat.MediaStyle"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.appcompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.content.res"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.content.res.AppCompatResources"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.content.res.AppCompatResources.getDrawable_added(android.content.Context, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.graphics"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.graphics.Palette"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.graphics.Palette.getDominantColor_added(int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.graphics.Palette.getDominantSwatch_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.preference"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.preference.MultiSelectListPreferenceDialogFragmentCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.recyclerview"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.BatchingListUpdateCallback"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.DiffUtil"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.DiffUtil.Callback"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.DiffUtil.DiffResult"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.ListUpdateCallback"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.SortedList.Callback"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.SortedList.Callback.onChanged_added(int, int, java.lang.Object)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.SortedList.Callback.onInserted_removed(int, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.SortedList.Callback.onMoved_removed(int, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.util.SortedList.Callback.onRemoved_removed(int, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.ActionMenuView"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.ActionMenuView.LayoutParams"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.ActionMenuView.OnMenuItemClickListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatAutoCompleteTextView"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatButton"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatCheckBox"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatCheckedTextView"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatEditText"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatImageButton"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatImageView"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatMultiAutoCompleteTextView"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatRadioButton"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatRatingBar"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatSeekBar"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatSpinner"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.AppCompatTextView"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.CardView"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.GridLayout"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.GridLayout.Alignment"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.GridLayout.LayoutParams"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.GridLayout.Spec"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.LinearLayoutCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.LinearLayoutCompat.LayoutParams"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.LinearLayoutManager"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.LinearLayoutManager.prepareForDrop_removed(android.view.View, android.view.View, int, int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.LinearSmoothScroller"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.LinearSmoothScroller.computeScrollVectorForPosition_changed(int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.LinearSnapHelper"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.ListPopupWindow"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.PopupMenu"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.PopupMenu.OnDismissListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.PopupMenu.OnMenuItemClickListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.RecyclerView"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.RecyclerView.OnFlingListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.RecyclerView.SmoothScroller.ScrollVectorProvider"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.RecyclerView.getOnFlingListener_added()"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.RecyclerView.setOnFlingListener_added(android.support.v7.widget.RecyclerView.OnFlingListener)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.SearchView"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.SearchView.OnCloseListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.SearchView.OnQueryTextListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.SearchView.OnSuggestionListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.ShareActionProvider"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.ShareActionProvider.OnShareTargetSelectedListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.SnapHelper"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.Space"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.StaggeredGridLayoutManager"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.StaggeredGridLayoutManager.TAG"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.StaggeredGridLayoutManager.computeScrollVectorForPosition_added(int)"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.SwitchCompat"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.ThemedSpinnerAdapter"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.ThemedSpinnerAdapter.Helper"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.Toolbar"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.Toolbar.LayoutParams"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.Toolbar.OnMenuItemClickListener"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v7.widget.Toolbar.SavedState"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+<comment>
+ <identifier id="android.support.v8.renderscript"/>
+ <text>
+ InsertCommentsHere
+ </text>
+</comment>
+
+</comments>
diff --git a/docs/html/topic/libraries/data-binding/index.jd b/docs/html/topic/libraries/data-binding/index.jd
index ddcc9f2..0faa1db 100644
--- a/docs/html/topic/libraries/data-binding/index.jd
+++ b/docs/html/topic/libraries/data-binding/index.jd
@@ -162,7 +162,9 @@
<p>
To use data binding, Android Plugin for Gradle <strong>1.5.0-alpha1</strong>
- or higher is required.
+ or higher is required. See how to <a
+href="/studio/releases/gradle-plugin.html#updating-plugin">update the Android
+Plugin for Gradle</a>.
</p>
<h2 id="build_environment">
diff --git a/docs/html/topic/libraries/support-library/features.jd b/docs/html/topic/libraries/support-library/features.jd
index 614392e..b5f189a 100755
--- a/docs/html/topic/libraries/support-library/features.jd
+++ b/docs/html/topic/libraries/support-library/features.jd
@@ -108,7 +108,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:support-compat:24.2.0
+com.android.support:support-compat:24.2.1
</pre>
<h3 id="v4-core-utils">v4 core-utils library</h3>
@@ -124,7 +124,7 @@
</p>
<pre>
-com.android.support:support-core-utils:24.2.0
+com.android.support:support-core-utils:24.2.1
</pre>
<h3 id="v4-core-ui">v4 core-ui library</h3>
@@ -141,7 +141,7 @@
</p>
<pre>
-com.android.support:support-core-ui:24.2.0
+com.android.support:support-core-ui:24.2.1
</pre>
<h3 id="v4-media-compat">v4 media-compat library</h3>
@@ -158,7 +158,7 @@
</p>
<pre>
-com.android.support:support-media-compat:24.2.0
+com.android.support:support-media-compat:24.2.1
</pre>
<h3 id="v4-fragment">v4 fragment library</h3>
@@ -178,7 +178,7 @@
</p>
<pre>
-com.android.support:support-fragment:24.2.0
+com.android.support:support-fragment:24.2.1
</pre>
<h2 id="multidex">Multidex Support Library</h2>
@@ -245,7 +245,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:appcompat-v7:24.2.0
+com.android.support:appcompat-v7:24.2.1
</pre>
@@ -260,7 +260,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:cardview-v7:24.2.0
+com.android.support:cardview-v7:24.2.1
</pre>
@@ -276,7 +276,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:gridlayout-v7:24.2.0
+com.android.support:gridlayout-v7:24.2.1
</pre>
@@ -299,7 +299,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:mediarouter-v7:24.2.0
+com.android.support:mediarouter-v7:24.2.1
</pre>
<p class="caution">The v7 mediarouter library APIs introduced in Support Library
@@ -319,7 +319,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:palette-v7:24.2.0
+com.android.support:palette-v7:24.2.1
</pre>
@@ -335,7 +335,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:recyclerview-v7:24.2.0
+com.android.support:recyclerview-v7:24.2.1
</pre>
@@ -358,7 +358,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:preference-v7:24.2.0
+com.android.support:preference-v7:24.2.1
</pre>
<h2 id="v8">v8 Support Library</h2>
@@ -409,7 +409,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:support-v13:24.2.0
+com.android.support:support-v13:24.2.1
</pre>
@@ -435,7 +435,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:preference-v14:24.2.0
+com.android.support:preference-v14:24.2.1
</pre>
@@ -458,7 +458,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:preference-leanback-v17:24.2.0
+com.android.support:preference-leanback-v17:24.2.1
</pre>
@@ -494,7 +494,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:leanback-v17:24.2.0
+com.android.support:leanback-v17:24.2.1
</pre>
@@ -509,7 +509,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:support-annotations:24.2.0
+com.android.support:support-annotations:24.2.1
</pre>
@@ -527,7 +527,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:design:24.2.0
+com.android.support:design:24.2.1
</pre>
@@ -548,7 +548,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:customtabs:24.2.0
+com.android.support:customtabs:24.2.1
</pre>
@@ -572,7 +572,7 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:percent:24.2.0
+com.android.support:percent:24.2.1
</pre>
@@ -595,5 +595,5 @@
<p>The Gradle build script dependency identifier for this library is as follows:</p>
<pre>
-com.android.support:recommendation:24.2.0
+com.android.support:recommendation:24.2.1
</pre>
diff --git a/docs/html/topic/libraries/support-library/revisions.jd b/docs/html/topic/libraries/support-library/revisions.jd
index 4e14c70..9a24d15 100644
--- a/docs/html/topic/libraries/support-library/revisions.jd
+++ b/docs/html/topic/libraries/support-library/revisions.jd
@@ -6,9 +6,71 @@
<p>This page provides details about the Support Library package releases.</p>
<div class="toggle-content opened">
- <p id="rev24-2-0">
+ <p id="rev24-2-1">
<a href="#" onclick="return toggleContent(this)"><img src=
"{@docRoot}assets/images/styles/disclosure_up.png" class=
+ "toggle-content-img" alt="">Android Support Library, revision 24.2.1</a>
+ <em>(September 2016)</em>
+ </p>
+
+ <div class="toggle-content-toggleme">
+
+ <p>Fixed issues:</p>
+
+<ul>
+ <li>{@link android.support.design.widget.FloatingActionButton} can no longer
+ be anchored to indirect children of {@link
+ android.support.design.widget.CoordinatorLayout}. (AOSP issue <a href=
+ "https://code.google.com/p/android/issues/detail?id=220250">220250</a>)
+ </li>
+
+ <li>Image inside {@link
+ android.support.design.widget.CollapsingToolbarLayout} doesn’t scale properly
+ with <code>fitsSystemWindows=true</code>. (AOSP issue <a href=
+ "https://code.google.com/p/android/issues/detail?id=220389">220389</a>)
+ </li>
+
+ <li>{@link android.support.design.widget.CoordinatorLayout} throws {@link
+ java.lang.IndexOutOfBoundsException} when {@link
+ android.support.design.widget.Snackbar} is shown and dismissed. (AOSP issue
+ <a href="https://code.google.com/p/android/issues/detail?id=220762"
+ >220762</a>)
+ </li>
+
+ <li>{@link android.support.design.widget.TextInputLayout} fails to resolve
+ error text color. (AOSP issue <a href=
+ "https://code.google.com/p/android/issues/detail?id=220305">220305</a>)
+ </li>
+
+ <li>{@link android.support.v7.util.SortedList.BatchedCallback#onMoved
+ BatchedCallback.onMoved()} calls {@link
+ android.support.v7.util.SortedList.BatchedCallback#onInserted
+ BatchedCallback.onInserted()}. (AOSP issue <a href=
+ "https://code.google.com/p/android/issues/detail?id=220309">220309</a>)
+ </li>
+
+ <li>{@link android.support.design.widget.TextInputLayout} overrides right
+ compound drawable. (AOSP issue <a href=
+ "https://code.google.com/p/android/issues/detail?id=220728">220728</a>)
+ </li>
+</ul>
+
+<p>
+ A complete list of public bug fixes is available on the <a href=
+ "https://code.google.com/p/android/issues/list?can=1&q=label%3ATarget-Support-24.2.1">
+ AOSP Issue Tracker</a>.
+</p>
+
+
+ </div>
+</div>
+
+<!-- end of collapsible section: 24.2.1 -->
+
+<div class="toggle-content closed">
+ <p id="rev24-2-0">
+ <a href="#" onclick="return toggleContent(this)"><img src=
+ "{@docRoot}assets/images/styles/disclosure_down.png" class=
"toggle-content-img" alt="">Android Support Library, revision 24.2.0</a>
<em>(August 2016)</em>
</p>
@@ -174,6 +236,14 @@
behavior similar to {@link android.support.v4.view.ViewPager}.
</li>
+ <li>The Custom Tabs library now allows clients to request the standard
+ browser UI, rather than custom tabs UI, by calling <a href=
+ "/reference/android/support/customtabs/CustomTabsIntent.html#setAlwaysUseBrowserUI(android.content.Intent)">
+ <code>CustomTabsIntent.setAlwaysUseBrowserUI()</code></a>. This behavior is
+ useful in cases where the browser defaults to custom tabs UI but the user
+ has expressed a preference for the standard browser UI.
+ </li>
+
</ul>
<h3 id="24-2-0-behavior">Behavior changes</h3>
@@ -189,8 +259,17 @@
<li>{@link android.support.design.widget.Snackbar} now draws behind the
navigation bar if the status bar is translucent.
</li>
+
</ul>
+<h4>MediaRouter library</h4>
+
+<p>
+ Bluetooth devices are no longer listed as media routes. Routing audio to
+ Bluetooth devices is now solely controlled at the Android system level.
+</p>
+
+
<h3 id="24-2-0-deprecations">Deprecations</h3>
<p>Deprecated classes and methods are subject to removal in a future release. You should migrate away from these APIs as soon as possible.</p>
@@ -2895,8 +2974,6 @@
<ul>
<li>Added {@link android.support.v7.widget.GridLayout} to provide support for the
{@link android.widget.GridLayout} layout object.</li>
- <li>Added {@link android.support.v7.widget.Space} which can be used to create blank areas
- within a {@link android.support.v7.widget.GridLayout} layout object.</li>
</ul>
</dl>
</div>
diff --git a/docs/html/training/basics/firstapp/building-ui.jd b/docs/html/training/basics/firstapp/building-ui.jd
index a680c73..6f321e9 100644
--- a/docs/html/training/basics/firstapp/building-ui.jd
+++ b/docs/html/training/basics/firstapp/building-ui.jd
@@ -71,17 +71,17 @@
<h2 id="LinearLayout">Create a Linear Layout</h2>
<ol>
- <li>From the <code>res/layout/</code> directory, open the
- <code>activity_main.xml</code> file.
+ <li>In Android Studio's <b>Project</b> window, open <b>app > res >
+ layout > activity_main.xml</b>.
<p>This XML file defines the layout of your activity. It contains the
default "Hello World" text view.</p>
</li>
<li>When you open a layout file, you’re first shown the design editor in the
<a href="/studio/write/layout-editor.html">Layout Editor</a>. For this lesson,
- you work directly with the XML, so click the <b>Text</b> tab to switch to
- the text editor.
+ you work directly with the XML, so click the <b>Text</b> tab at the bottom
+ of the window to switch to the text editor.
</li>
- <li>Replace the contents of the file with the following XML:
+ <li>Delete everything and insert the following XML:
<pre><?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
@@ -138,6 +138,9 @@
</LinearLayout>
</pre>
+<p>Don't worry about the error that appears for
+<code>@string/edit_message</code>; you'll fix that soon.</p>
+
<p>Here is a description of the attributes in the
{@link android.widget.EditText <EditText>} you added:</p>
@@ -157,7 +160,7 @@
<p>A resource object is a unique integer name that's associated with an app resource,
such as a bitmap, layout file, or string.</p>
<p>Every resource has a
-corresponding resource object defined in your project's {@code gen/R.java} file. You can use the
+corresponding resource object defined in your project's {@code R.java} file. You can use the
object names in the {@code R} class to refer to your resources, such as when you need to specify a
string value for the <a
href="{@docRoot}reference/android/widget/TextView.html#attr_android:hint">{@code android:hint}</a>
@@ -174,7 +177,7 @@
<p>The plus sign (<code>+</code>) before the resource type is needed only when you're defining a
resource ID for the first time. When you compile the app,
the SDK tools use the ID name to create a new resource ID in
-your project's {@code gen/R.java} file that refers to the {@link
+your project's {@code R.java} file that refers to the {@link
android.widget.EditText} element. With the resource ID declared once this way,
other references to the ID do not
need the plus sign. Using the plus sign is necessary only when specifying a new resource ID and not
@@ -211,10 +214,10 @@
<h2 id="Strings">Add String Resources</h2>
<p>By default, your Android project includes a string resource file at
-<code>res/values/strings.xml</code>. Here, you'll add two new strings.</p>
+<b>res > values > strings.xml</b>. Here, you'll add two new strings.</p>
<ol>
-<li>From the <code>res/values/</code> directory, open <code>strings.xml</code>.</li>
+<li>From the <b>Project</b> window, open <b>res > values > strings.xml</b>.</li>
<li>Add two strings so that your file looks like this:
<pre><?xml version="1.0" encoding="utf-8"?>
<resources>
@@ -340,15 +343,12 @@
<h2>Run Your App</h2>
-<p>This layout is applied by the default {@link android.app.Activity} class
-that the SDK tools generated when you created the project.</p>
-
-<p>To run the app and see the results,
- click <strong>Run 'app'</strong>
+<p>To see how the app now looks on your device or emulator,
+ click <strong>Run</strong>
<img src="{@docRoot}images/tools/as-run.png"
style="vertical-align:baseline;margin:0; max-height:1em" /> in the
toolbar.</p>
-<p>Continue to the <a href="starting-activity.html">next
-lesson</a> to learn how to respond to button presses, read content
-from the text field, start another activity, and more.</p>
\ No newline at end of file
+<p>To add app behaviors such as responding to a button and starting
+another activity, continue to the <a href="starting-activity.html">next
+lesson</a>.</p>
\ No newline at end of file
diff --git a/docs/html/training/basics/firstapp/creating-project.jd b/docs/html/training/basics/firstapp/creating-project.jd
index cad32bf..60be5f6 100644
--- a/docs/html/training/basics/firstapp/creating-project.jd
+++ b/docs/html/training/basics/firstapp/creating-project.jd
@@ -31,129 +31,71 @@
<ol>
<li>In Android Studio, create a new project:
<ul>
- <li>If you don't have a project opened, in the <strong>Welcome</strong> screen, click <strong>
- New Project</strong>.</li>
- <li>If you have a project opened, from the <strong>File</strong> menu, select <strong>New
- Project</strong>. The <em>Create New Project</em> screen appears.</li>
+ <li>If you don't have a project opened, in the <strong>Welcome to Android Studio</strong> window, click <strong>
+ Start a new Android Studio project</strong>.</li>
+ <li>If you have a project opened, select <strong>File > New Project</strong>.</li>
</ul>
</li>
- <li>Fill out the fields on the screen. For <strong>Application Name</strong>
- use "My First App". For <strong>Company Domain</strong>, use "example.com".
- For the other fields, use the default values and click <strong>Next</strong>
- <p>Here's a brief explanation of each field:</p>
+ <li>In the <b>New Project</b> screen, enter the following values:</p>
<ul>
- <li><strong>Application Name</strong> is the app name that appears to users.</li>
- <li><strong>Company domain</strong> provides a qualifier that will be appended to the package
- name; Android Studio will remember this qualifier for each new project you create.</li>
- <li><strong>Package name</strong> is the fully qualified name for the project (following the
- same rules as those for naming packages in the Java programming language). Your package name
- must be unique across all packages installed on the Android system. You can <strong>
- Edit</strong> this value independently from the application name or the company
- domain.</li>
- <li><strong>Project location</strong> is the directory on your system that holds the project
- files.</li>
+ <li><strong>Application Name</strong>: "My First App" </li>
+ <li><strong>Company Domain</strong>: "example.com"</li>
</ul>
+ <p>Android Studio fills in the package name and project location for you,
+ but you can edit these if you'd like.
</li>
- <li>Under <strong>Target Android Devices</strong>, accept the default values
- and click <strong>Next</strong>.
- <p>The Minimum Required SDK is the earliest version of Android that your app supports,
- indicated using the <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">
+ <li>Click <b>Next</b>.</li>
+ <li>In the <b>Target Android Devices</b> screen, keep the default values and
+ click <b>Next</b>.
+ <p>The <b>Minimum Required SDK</b> is the earliest version of Android that your app supports,
+ which is indicated by the <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">
API level</a>. To support as many devices as possible, you should set this to the lowest
version available that allows your app to provide its core feature set. If any feature of your
- app is possible only on newer versions of Android and it's not critical to the app's core
- feature set, you can enable the feature only when running on the versions that support it (as
- discussed in <a href="{@docRoot}training/basics/supporting-devices/platforms.html">
+ app is possible only on newer versions of Android and it's not critical to the core
+ feature set, enable that feature only when running on the versions that support it (see
+ <a href="{@docRoot}training/basics/supporting-devices/platforms.html">
Supporting Different Platform Versions</a>).</p>
</li>
- <li>Under <strong>Add an Activity to Mobile</strong>, select <strong>Empty
+ <li>In the <strong>Add an Activity to Mobile</strong> screen, select <strong>Empty
Activity</strong> and click <strong>Next</strong>.
</li>
- <div class="sidebox-wrapper">
- <div class="sidebox">
- <h3>Activities</h3>
- <p>An activity is one of the distinguishing features of the Android framework. Activities
- provide the user with access to your app, and there may be many activities. An application
- will usually have a main activity for when the user launches the application, another
- activity for when she selects some content to view, for example, and other activities for
- when she performs other tasks within the app. See <a href="{@docRoot}guide/components/activities.html">
- Activities</a> for more information.</p>
- </div>
- </div>
-
- <li>Under <strong>Customize the Activity</strong>, accept the default values
+ <li>In the <strong>Customize the Activity</strong> screen, keep the default values
and click <strong>Finish</strong>.
</ol>
-<p>Your Android project is now a basic "Hello World" app that contains some default files. Take a
-moment to review the most important of these:</p>
+<p>After some processing, Android Studio opens and displays a "Hello World" app
+with default files. You will add functionality to some of
+these files in the following lessons.</p>
+
+<p>Now take a moment to review the most important files. First, be sure that
+the <b>Project</b> window is open (select <b>View > Tool Windows > Project</b>)
+and the <b>Android</b> view is selected from the drop-down list at the top.
+You can then see the following files:</p>
<dl>
- <dt><code>app/src/main/java/com.example.myfirstapp/MainActivity.java</code></dt>
+ <dt><b>app > java > com.example.myfirstapp > MainActivity.java</b></dt>
<dd>This file appears in Android Studio after the New Project wizard finishes.
It contains the class definition for the activity you created earlier. When you build
and run the app, the {@link android.app.Activity} starts and loads the
layout file that says "Hello World!"</dd>
- <dt><code>app/src/main/res/layout/activity_main.xml</code></dt>
+ <dt><b>app > res > layout > activity_main.xml</b></dt>
<dd>This XML file defines the layout of the activity. It contains a {@code TextView}
element with the text "Hello world!".</dd>
- <dt><code>app/src/main/AndroidManifest.xml</code></dt>
+ <dt><b>app > manifests > AndroidManifest.xml</b></dt>
<dd>The <a href="{@docRoot}guide/topics/manifest/manifest-intro.html">manifest file</a> describes
the fundamental characteristics of the app and defines each of its components. You'll revisit
this file as you follow these lessons and add more components to your app.</dd>
- <dt><code>app/build.gradle</code></dt>
+
+ <dt><b>Gradle Scripts > build.gradle</b></dt>
<dd>Android Studio uses Gradle to compile and build your app. There is a <code>build.gradle</code>
file for each module of your project, as well as a <code>build.gradle</code> file for the entire
- project. Usually, you're only interested in the <code>build.gradle</code> file for the module,
- in this case the <code>app</code> or application module. This is where your app's build dependencies
- are set, including the <code>defaultConfig</code> settings:
- <ul>
- <li><code>compiledSdkVersion</code> is the platform version against which you will compile
- your app. By default, this is set to the latest version of Android available in your SDK.
- By default, this is set to the latest version of Android SDK installed on your
- development machine.
- You can still build your app to support older versions, but setting this to the latest
- version allows you to enable new features and optimize your app for a great user experience
- on the latest devices.</li>
- <li><code>applicationId</code> is the fully qualified package name for your application that
- you specified in the New Project wizard.</li>
- <li><code>minSdkVersion</code> is the Minimum SDK version you specified during the New Project
- wizard. This is the earliest version of the Android SDK that your app supports.</li>
- <li><code>targetSdkVersion</code> indicates the highest version of Android with which you have
- tested your application. As new versions of Android become available, you should
- test your app on the new version and update this value to match the latest API level and
- thereby take advantage of new platform features. For more information, read
- <a href="{@docRoot}training/basics/supporting-devices/platforms.html">Supporting Different
- Platform Versions</a>.</li>
- </ul>
- <p>See <a href="{@docRoot}studio/build/index.html">Building Your Project with Gradle</a>
- for more information about Gradle.</p></dd>
-</dl>
-
-<p>Note also the <code>/res</code> subdirectories that contain the
-<a href="{@docRoot}guide/topics/resources/overview.html">resources</a> for your application:</p>
-<dl>
- <dt><code>drawable<em>-<density></em>/</code></dt>
- <dd>Directories for <a href="{@docRoot}guide/topics/resources/drawable-resource.html">
- drawable resources</a>, other than launcher icons, designed
- for various <a href="{@docRoot}training/multiscreen/screendensities.html">densities</a>.
-</dd>
- <dt><code>layout/</code></dt>
- <dd>Directory for files that define your app's user interface like {@code activity_main.xml},
- discussed above, which describes a basic layout for the {@code MainActivity}
- class.</dd>
- <dt><code>menu/</code></dt>
- <dd>Directory for files that define your app's menu items.</dd>
- <dt><code>mipmap/</code></dt>
- <dd>Launcher icons reside in the {@code mipmap/} folder rather than the
- {@code drawable/} folders. This folder contains the {@code ic_launcher.png} image
- that appears when you run the default app.</dd>
- <dt><code>values/</code></dt>
- <dd>Directory for other XML files that contain a collection of resources, such as
- string and color definitions.</dd>
+ project. Usually, you're only interested in the <code>build.gradle</code> file for the module.
+ in this case the <code>app</code> or application module. For more information about this file,
+ see <a href="{@docRoot}studio/build/index.html">Building Your Project with Gradle</a>.</dd>
</dl>
<p>
diff --git a/docs/html/training/basics/firstapp/running-app.jd b/docs/html/training/basics/firstapp/running-app.jd
index e809871..085849f 100755
--- a/docs/html/training/basics/firstapp/running-app.jd
+++ b/docs/html/training/basics/firstapp/running-app.jd
@@ -3,9 +3,7 @@
parent.link=index.html
trainingnavtop=true
-
page.tags=emulator
-helpoutsWidget=true
@jd:body
@@ -18,7 +16,7 @@
<ol>
<li><a href="#RealDevice">Run on a Real Device</a></li>
- <li><a href="#Emulator">Run on the Emulator</a></li>
+ <li><a href="#Emulator">Run on an Emulator</a></li>
</ol>
<h2>You should also read</h2>
@@ -34,8 +32,10 @@
<p>In the <a href="creating-project.html">previous lesson</a>, you created an
- Android project. The project contains a default app that displays
- "Hello World". In this lesson, you will run the app on a device or emulator.</p>
+Android project that displays "Hello World." You can now run the app on a real
+device or on an emulator. If you don't have a real device available, skip to
+<a href="#Emulator">Run on an Emulator</a>.</p>
+
<h2 id="RealDevice">Run on a Real Device</h2>
@@ -68,7 +68,7 @@
<p>Android Studio installs the app on your connected device and starts it.</p>
-<h2 id="Emulator">Run on the Emulator</h2>
+<h2 id="Emulator">Run on an Emulator</h2>
<p>Before you run your app on an emulator, you need to create an
<a href="{@docRoot}tools/devices/index.html">Android Virtual Device</a> (AVD)
@@ -82,12 +82,14 @@
<strong>Tools > Android > AVD Manager</strong>, or by clicking
the AVD Manager icon <img src="{@docRoot}images/tools/avd-manager-studio.png"
style="vertical-align:bottom;margin:0;height:19px"> in the toolbar.</li>
- <li>On the AVD Manager main screen, click <strong>Create Virtual Device</strong>.</li>
- <li>In the Select Hardware page, select a phone device, such as Nexus 6,
- then click <strong>Next</strong>.
+ <li>In the <b>Your Virtual Devices</b> screen, click <strong>Create Virtual Device</strong>.</li>
+ <li>In the <b>Select Hardware</b> screen, select a phone device, such as Nexus 6,
+ and then click <strong>Next</strong>.
</li>
- <li>In the Select Image page, choose the desired system image for the AVD and
+ <li>In the <b>System Image</b> screen, choose the desired system image for the AVD and
click <strong>Next</strong>.
+ <p>If you don't have a particular system image installed,
+ you can get it by clicking the <b>download</b> link.</p>
</li>
<li>Verify the configuration settings (for your first AVD, leave all the
settings as they are), and then click <strong>Finish</strong>.
diff --git a/docs/html/training/basics/firstapp/starting-activity.jd b/docs/html/training/basics/firstapp/starting-activity.jd
index ebf42cb..4385d13 100644
--- a/docs/html/training/basics/firstapp/starting-activity.jd
+++ b/docs/html/training/basics/firstapp/starting-activity.jd
@@ -38,7 +38,7 @@
<h2 id="RespondToButton">Respond to the Send Button</h2>
<ol>
- <li>In the file <code>res/layout/activity_main.xml</code>, add the
+ <li>In the file <b>res > layout > activity_main.xml</b>, add the
<a href="{@docRoot}reference/android/view/View.html#attr_android:onClick">{@code android:onClick}</a>
attribute to the {@link android.widget.Button <Button>} element as
shown below:
@@ -52,7 +52,7 @@
method in your activity whenever a user clicks on the button.</p>
</li>
- <li>In the file <code>java/com.example.myfirstapp/MainActivity.java</code>,
+ <li>In the file <b>java > com.example.myfirstapp > MainActivity.java</b>,
add the <code>sendMessage()</code> method stub as shown below:
<pre>public class MainActivity extends AppCompatActivity {
@@ -85,7 +85,9 @@
<p>Next, you’ll fill in this method to read the contents of the text field and deliver that text to
another activity.</p>
+
<h2 id="BuildIntent">Build an Intent</h2>
+
<p>An {@link android.content.Intent} is an object that provides runtime binding
between separate components (such as two activities). The
{@link android.content.Intent} represents an app’s "intent to do something."
@@ -113,13 +115,22 @@
}
}</pre>
-<p class="note"><strong>Note: </strong>Android Studio will display
- <code>Cannot resolve symbol</code> errors because the code references classes
- like {@link android.content.Intent} and {@link android.widget.EditText}
- that have not been imported. To import these classes, you can either 1)
- use Android Studio's "import class" functionality by pressing Alt + Enter
- (Option + Return on Mac) or 2) manually add import statements at the top of
- the file.</p>
+<p>Android Studio will display <b>Cannot
+resolve symbol</b> errors because this code references classes that are not
+imported. You can solve some of these with Android Studio's "import class"
+functionality by pressing Alt + Enter (or Option + Return on Mac).
+Your imports should end up as the following:</p>
+<pre>
+import android.content.Intent;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.EditText;
+</pre>
+
+<p>An error remains for <code>DisplayMessageActivity</code>, but that's okay;
+you'll fix that in the next section.
+
<p>There’s a lot going on in <code>sendMessage()</code>, so let’s explain
what's going on.</p>
@@ -150,6 +161,7 @@
method starts an instance of the <code>DisplayMessageActivity</code> specified
by the {@link android.content.Intent}. Now you need to create the class.</p>
+
<h2 id="CreateActivity">Create the Second Activity</h2>
<ol>
@@ -169,7 +181,8 @@
<li>Creates the corresponding layout file <code>activity_display_message.xml</code>
</li>
<li>Adds the required
- <a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a>
+ <a href="{@docRoot}guide/topics/manifest/activity-element.html"
+ ><code><activity></code></a>
element in <code>AndroidManifest.xml</code>.
</ul>
@@ -199,7 +212,16 @@
layout.addView(textView);
}</pre>
</li>
- <li>Press Alt + Enter (option + return on Mac) to import missing classes.</li>
+ <li>Press Alt + Enter (or Option + Return on Mac) to import missing classes.
+ Your imports should end up as the following:
+<pre>
+import android.content.Intent;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.ViewGroup;
+import android.widget.TextView;
+</pre>
+</li>
</ol>
<p>There’s a lot going on here, so let’s explain:</p>
diff --git a/docs/html/training/testing/unit-testing/instrumented-unit-tests.jd b/docs/html/training/testing/unit-testing/instrumented-unit-tests.jd
index 8fc4dca..df8b1bc 100644
--- a/docs/html/training/testing/unit-testing/instrumented-unit-tests.jd
+++ b/docs/html/training/testing/unit-testing/instrumented-unit-tests.jd
@@ -292,23 +292,21 @@
of any app failures.</p>
<p>
- Before you can start using Firebase Test Lab, you need to:
+ Before you can start using Firebase Test Lab, you need to do the following
+unless you already have a Google account and a Firebase project with the Blaze
+billing plan enabled:
</p>
<ol>
- <li>
- <a href="https://console.developers.google.com/freetrial">Create a
- Google Cloud Platform account</a> to use with active billing.
- </li>
-
- <li>
- <a href="https://support.google.com/cloud/answer/6251787">Create a Google
- Cloud project</a> for your app.
- </li>
-
- <li>
- <a href="https://support.google.com/cloud/answer/6288653">Set up an active
- billing account</a> and associate it with the project you just created.
+ <li><a href="https://accounts.google.com/">Create a Google account</a>,
+ if you don't have one already.</li>
+ <li>In the <a href="https://console.firebase.google.com/">Firebase
+ console</a>, click <b>Create New Project</b>.</li>
+ <li>In the Firebase console, click <b>Upgrade</b>, and then click <b>Select
+Plan</b> in the <b>Blaze</b> plan column.
+ <p class="note"><b>Note</b>: To learn about billing,
+see <a href="https://firebase.google.com/docs/test-lab/overview#billing">Test
+Lab billing</a>.</p>
</li>
</ol>
@@ -318,10 +316,10 @@
</h4>
<p>
- Android Studio provides integrated tools that allow you to configure how you
- want to deploy your tests to Firebase Test Lab. After you have created a Google
- Cloud project with active billing, you can create a test configuration and
- run your tests:
+Android Studio provides integrated tools that allow you to configure how you
+want to deploy your tests to Firebase Test Lab. After you have created a
+Firebase project with Blaze plan billing, you can create a test configuration
+and run your tests:
</p>
<ol>
@@ -329,7 +327,8 @@
the main menu.
</li>
- <li>Click <strong>Add New Configuration (+)</strong> and select
+ <li>Click <strong>Add New Configuration</strong> <img
+src="/studio/images/buttons/ic_plus.png" alt="" class="inline-icon"/> and select
<strong>Android Tests</strong>.
</li>
@@ -340,7 +339,7 @@
</li>
<li>From the <em>Target</em> drop-down menu under <em>Deployment Target
- Options</em>, select <strong>Cloud Test Lab Device Matrix</strong>.
+ Options</em>, select <strong>Firebase Test Lab Device Matrix</strong>.
</li>
<li>If you are not logged in, click <strong>Connect to Google Cloud
@@ -348,9 +347,9 @@
</li>
<li>Next to <em>Cloud Project</em>, click the <img src=
- "{@docRoot}images/tools/as-wrench.png" alt="wrench and nut" style=
- "vertical-align:bottom;margin:0;"> button and select your Google Cloud
- Platform project from the list.
+ "{@docRoot}images/tools/as-wrench.png" alt="" class="inline-icon"/>
+ button and select your Firebase
+ project from the list.
</li>
</ol>
</li>
@@ -359,7 +358,7 @@
<ol type="a">
<li>Next to the <em>Matrix Configuration</em> drop-down list, click <strong>
Open Dialog</strong> <img src="{@docRoot}images/tools/as-launchavdm.png"
- alt="ellipses button" style="vertical-align:bottom;margin:0;">.
+ alt="" class="inline-icon">.
</li>
<li>Click <strong>Add New Configuration (+)</strong>.
@@ -385,8 +384,7 @@
</li>
<li>Run your tests by clicking <strong>Run</strong> <img src=
- "{@docRoot}images/tools/as-run.png" alt="" style=
- "vertical-align:bottom;margin:0;">.
+ "{@docRoot}images/tools/as-run.png" alt="" class="inline-icon"/>.
</li>
</ol>
@@ -404,7 +402,7 @@
When Firebase Test Lab completes running your tests, the <em>Run</em> window
will open to show the results, as shown in figure 2. You may need to click
<strong>Show Passed</strong> <img src="{@docRoot}images/tools/as-ok.png" alt=
- "" style="vertical-align:bottom;margin:0;"> to see all your executed tests.
+ "" class="inline-icon"/> to see all your executed tests.
</p>
<img src="{@docRoot}images/training/ctl-test-results.png" alt="">
@@ -416,15 +414,7 @@
<p>
You can also analyze your tests on the web by following the link displayed at
- the beginning of the test execution log in the <em>Run</em> window, as shown
- in figure 3.
-</p>
-
-<img src="{@docRoot}images/training/ctl-exec-log.png" alt="">
-
-<p class="img-caption">
- <strong>Figure 3.</strong> Click the link to view detailed test results on
- the web.
+ the beginning of the test execution log in the <em>Run</em> window.
</p>
<p>
diff --git a/docs/html/training/tv/start/hardware.jd b/docs/html/training/tv/start/hardware.jd
index 97cf7ff..0639871 100644
--- a/docs/html/training/tv/start/hardware.jd
+++ b/docs/html/training/tv/start/hardware.jd
@@ -227,13 +227,19 @@
</tr>
<tr>
<td>{@link android.Manifest.permission#ACCESS_COARSE_LOCATION}</td>
- <td>{@code android.hardware.location} <em>and</em> <br>
- {@code android.hardware.location.network}</td>
+ <td>
+ <p>{@code android.hardware.location}</p>
+ <p>{@code android.hardware.location.network} (Target API level 20 or lower
+ only.)</p>
+ </td>
</tr>
<tr>
<td>{@link android.Manifest.permission#ACCESS_FINE_LOCATION}</td>
- <td>{@code android.hardware.location} <em>and</em> <br>
- {@code android.hardware.location.gps}</td>
+ <td>
+ <p>{@code android.hardware.location}</p>
+ <p>{@code android.hardware.location.gps} (Target API level 20 or lower
+ only.)</p>
+ </td>
</tr>
</table>
@@ -246,6 +252,13 @@
required ({@code android:required="false"}).
</p>
+<p class="note">
+ <strong>Note:</strong> If your app targets Android 5.0 (API level 21) or
+ higher and uses the <code>ACCESS_COARSE_LOCATION</code> or
+ <code>ACCESS_FINE_LOCATION</code> permission, users can still install your
+ app on a TV device, even if the TV device doesn't have a network card or a GPS
+ receiver.
+</p>
<h3 id="check-features">Checking for hardware features</h2>
diff --git a/docs/html/tv/index.jd b/docs/html/tv/index.jd
index 7c958c0..6ecc1ea 100644
--- a/docs/html/tv/index.jd
+++ b/docs/html/tv/index.jd
@@ -13,7 +13,7 @@
<style>
.fullpage>#footer,
-#jd-content>.content-footer.wrap {
+#body-content>.content-footer.wrap {
display:none;
}
</style>
diff --git a/docs/html/wear/index.jd b/docs/html/wear/index.jd
index f5e9e87..f9bdef5 100644
--- a/docs/html/wear/index.jd
+++ b/docs/html/wear/index.jd
@@ -9,7 +9,7 @@
<style>
.fullpage>#footer,
-#jd-content>.content-footer.wrap {
+#body-content>.content-footer.wrap {
display:none;
}
</style>
diff --git a/docs/html/wear/preview/index.jd b/docs/html/wear/preview/index.jd
index 4b3c1f2..6292577 100644
--- a/docs/html/wear/preview/index.jd
+++ b/docs/html/wear/preview/index.jd
@@ -7,16 +7,6 @@
footer.hide=1
@jd:body
-<script>
- $(document).ready(function() {
- if (useUpdatedTemplates) {
- $("#useUpdatedTemplates").css("display","block");
- } else {
- $("#useOldTemplates").css("display","block");
- }
- })
-</script>
-
<section class="dac-expand dac-hero dac-light" style="background-color:#FFFFFF">
<div class="wrap" style="max-width:1100px;margin-top:0">
<div class="cols dac-hero-content" style="padding-bottom:1em;">
@@ -55,7 +45,7 @@
</div>
</section>
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
<div class="wrap dac-offset-parent">
<a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
<i class="dac-sprite dac-arrow-down-gray"></i>
@@ -77,22 +67,6 @@
</div><!-- end .wrap -->
</div><!-- end .dac-actions -->
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
- <div class="wrap dac-offset-parent">
-
- <div class="actions">
- <div><a href="{@docRoot}wear/preview/bug">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Report an issue
- </a></div>
- <div><a href="http://g.co/androidweardev">
- <span class="dac-sprite dac-auto-chevron-large"></span>
- Join developer community
- </a></div>
- </div><!-- end .actions -->
- </div><!-- end .wrap -->
-</div>
-
<section class="dac-section dac-light"><div class="wrap">
<h1 class="dac-section-title">Resources</h1>
<div class="dac-section-subtitle">
diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk
index 366ef71..74b474e 100644
--- a/libs/hwui/Android.mk
+++ b/libs/hwui/Android.mk
@@ -3,6 +3,7 @@
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
HWUI_NEW_OPS := true
+BUGREPORT_FONT_CACHE_USAGE := true
# Enables fine-grained GLES error checking
# If set to true, every GLES call is wrapped & error checked
@@ -135,6 +136,13 @@
endif
+ifeq (true, $(BUGREPORT_FONT_CACHE_USAGE))
+ hwui_src_files += \
+ font/FontCacheHistoryTracker.cpp
+ hwui_cflags += -DBUGREPORT_FONT_CACHE_USAGE
+endif
+
+
ifndef HWUI_COMPILE_SYMBOLS
hwui_cflags += -fvisibility=hidden
endif
diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp
index 949ad45..a8ced9b 100644
--- a/libs/hwui/Caches.cpp
+++ b/libs/hwui/Caches.cpp
@@ -21,6 +21,9 @@
#include "Properties.h"
#include "renderstate/RenderState.h"
#include "ShadowTessellator.h"
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+#include "font/FontCacheHistoryTracker.h"
+#endif
#include "utils/GLUtils.h"
#include <cutils/properties.h>
@@ -195,12 +198,7 @@
log.appendFormat(" PatchCache %8d / %8d\n",
patchCache.getSize(), patchCache.getMaxSize());
- const uint32_t sizeA8 = fontRenderer.getFontRendererSize(GL_ALPHA);
- const uint32_t sizeRGBA = fontRenderer.getFontRendererSize(GL_RGBA);
- log.appendFormat(" FontRenderer A8 %8d / %8d\n", sizeA8, sizeA8);
- log.appendFormat(" FontRenderer RGBA %8d / %8d\n", sizeRGBA, sizeRGBA);
- log.appendFormat(" FontRenderer total %8d / %8d\n", sizeA8 + sizeRGBA,
- sizeA8 + sizeRGBA);
+ fontRenderer.dumpMemoryUsage(log);
log.appendFormat("Other:\n");
log.appendFormat(" FboCache %8d / %8d\n",
@@ -213,11 +211,14 @@
total += tessellationCache.getSize();
total += dropShadowCache.getSize();
total += patchCache.getSize();
- total += fontRenderer.getFontRendererSize(GL_ALPHA);
- total += fontRenderer.getFontRendererSize(GL_RGBA);
+ total += fontRenderer.getSize();
log.appendFormat("Total memory usage:\n");
log.appendFormat(" %d bytes, %.2f MB\n", total, total / 1024.0f / 1024.0f);
+
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ fontRenderer.getFontRenderer().historyTracker().dump(log);
+#endif
}
///////////////////////////////////////////////////////////////////////////////
diff --git a/libs/hwui/FontRenderer.cpp b/libs/hwui/FontRenderer.cpp
index 276c18d..681cf55 100644
--- a/libs/hwui/FontRenderer.cpp
+++ b/libs/hwui/FontRenderer.cpp
@@ -168,10 +168,17 @@
for (uint32_t i = 0; i < mACacheTextures.size(); i++) {
mACacheTextures[i]->init();
+
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ mHistoryTracker.glyphsCleared(mACacheTextures[i]);
+#endif
}
for (uint32_t i = 0; i < mRGBACacheTextures.size(); i++) {
mRGBACacheTextures[i]->init();
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ mHistoryTracker.glyphsCleared(mRGBACacheTextures[i]);
+#endif
}
mDrawn = false;
@@ -183,6 +190,9 @@
CacheTexture* cacheTexture = cacheTextures[i];
if (cacheTexture->getPixelBuffer()) {
cacheTexture->init();
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ mHistoryTracker.glyphsCleared(cacheTexture);
+#endif
LruCache<Font::FontDescription, Font*>::Iterator it(mActiveFonts);
while (it.next()) {
it.value()->invalidateTextureCache(cacheTexture);
@@ -385,6 +395,10 @@
}
cachedGlyph->mIsValid = true;
+
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ mHistoryTracker.glyphUploaded(cacheTexture, startX, startY, glyph.fWidth, glyph.fHeight);
+#endif
}
CacheTexture* FontRenderer::createCacheTexture(int width, int height, GLenum format,
@@ -747,18 +761,67 @@
return size;
}
-uint32_t FontRenderer::getCacheSize(GLenum format) const {
- switch (format) {
- case GL_ALPHA: {
- return calculateCacheSize(mACacheTextures);
- }
- case GL_RGBA: {
- return calculateCacheSize(mRGBACacheTextures);
- }
- default: {
- return 0;
+static uint32_t calculateFreeCacheSize(const std::vector<CacheTexture*>& cacheTextures) {
+ uint32_t size = 0;
+ for (uint32_t i = 0; i < cacheTextures.size(); i++) {
+ CacheTexture* cacheTexture = cacheTextures[i];
+ if (cacheTexture && cacheTexture->getPixelBuffer()) {
+ size += cacheTexture->calculateFreeMemory();
}
}
+ return size;
+}
+
+const std::vector<CacheTexture*>& FontRenderer::cacheTexturesForFormat(GLenum format) const {
+ switch (format) {
+ case GL_ALPHA: {
+ return mACacheTextures;
+ }
+ case GL_RGBA: {
+ return mRGBACacheTextures;
+ }
+ default: {
+ LOG_ALWAYS_FATAL("Unsupported format: %d", format);
+ // Impossible to hit this, but the compiler doesn't know that
+ return *(new std::vector<CacheTexture*>());
+ }
+ }
+}
+
+static void dumpTextures(String8& log, const char* tag,
+ const std::vector<CacheTexture*>& cacheTextures) {
+ for (uint32_t i = 0; i < cacheTextures.size(); i++) {
+ CacheTexture* cacheTexture = cacheTextures[i];
+ if (cacheTexture && cacheTexture->getPixelBuffer()) {
+ uint32_t free = cacheTexture->calculateFreeMemory();
+ uint32_t total = cacheTexture->getPixelBuffer()->getSize();
+ log.appendFormat(" %-4s texture %d %8d / %8d\n", tag, i, total - free, total);
+ }
+ }
+}
+
+void FontRenderer::dumpMemoryUsage(String8& log) const {
+ const uint32_t sizeA8 = getCacheSize(GL_ALPHA);
+ const uint32_t usedA8 = sizeA8 - getFreeCacheSize(GL_ALPHA);
+ const uint32_t sizeRGBA = getCacheSize(GL_RGBA);
+ const uint32_t usedRGBA = sizeRGBA - getFreeCacheSize(GL_RGBA);
+ log.appendFormat(" FontRenderer A8 %8d / %8d\n", usedA8, sizeA8);
+ dumpTextures(log, "A8", cacheTexturesForFormat(GL_ALPHA));
+ log.appendFormat(" FontRenderer RGBA %8d / %8d\n", usedRGBA, sizeRGBA);
+ dumpTextures(log, "RGBA", cacheTexturesForFormat(GL_RGBA));
+ log.appendFormat(" FontRenderer total %8d / %8d\n", usedA8 + usedRGBA, sizeA8 + sizeRGBA);
+}
+
+uint32_t FontRenderer::getCacheSize(GLenum format) const {
+ return calculateCacheSize(cacheTexturesForFormat(format));
+}
+
+uint32_t FontRenderer::getFreeCacheSize(GLenum format) const {
+ return calculateFreeCacheSize(cacheTexturesForFormat(format));
+}
+
+uint32_t FontRenderer::getSize() const {
+ return getCacheSize(GL_ALPHA) + getCacheSize(GL_RGBA);
}
}; // namespace uirenderer
diff --git a/libs/hwui/FontRenderer.h b/libs/hwui/FontRenderer.h
index e10a81b..504dce8 100644
--- a/libs/hwui/FontRenderer.h
+++ b/libs/hwui/FontRenderer.h
@@ -21,8 +21,12 @@
#include "font/CacheTexture.h"
#include "font/CachedGlyphInfo.h"
#include "font/Font.h"
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+#include "font/FontCacheHistoryTracker.h"
+#endif
#include <utils/LruCache.h>
+#include <utils/String8.h>
#include <utils/StrongPointer.h>
#include <SkPaint.h>
@@ -132,7 +136,12 @@
mLinearFiltering = linearFiltering;
}
- uint32_t getCacheSize(GLenum format) const;
+ uint32_t getSize() const;
+ void dumpMemoryUsage(String8& log) const;
+
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ FontCacheHistoryTracker& historyTracker() { return mHistoryTracker; }
+#endif
private:
friend class Font;
@@ -175,6 +184,10 @@
mUploadTexture = true;
}
+ const std::vector<CacheTexture*>& cacheTexturesForFormat(GLenum format) const;
+ uint32_t getCacheSize(GLenum format) const;
+ uint32_t getFreeCacheSize(GLenum format) const;
+
uint32_t mSmallCacheWidth;
uint32_t mSmallCacheHeight;
uint32_t mLargeCacheWidth;
@@ -199,6 +212,10 @@
bool mLinearFiltering;
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ FontCacheHistoryTracker mHistoryTracker;
+#endif
+
#ifdef ANDROID_ENABLE_RENDERSCRIPT
// RS constructs
RSC::sp<RSC::RS> mRs;
diff --git a/libs/hwui/GammaFontRenderer.h b/libs/hwui/GammaFontRenderer.h
index 5813e7f..bd27a1a 100644
--- a/libs/hwui/GammaFontRenderer.h
+++ b/libs/hwui/GammaFontRenderer.h
@@ -22,6 +22,8 @@
#include <SkPaint.h>
+#include <utils/String8.h>
+
namespace android {
namespace uirenderer {
@@ -46,8 +48,16 @@
return *mRenderer;
}
- uint32_t getFontRendererSize(GLenum format) const {
- return mRenderer ? mRenderer->getCacheSize(format) : 0;
+ void dumpMemoryUsage(String8& log) const {
+ if (mRenderer) {
+ mRenderer->dumpMemoryUsage(log);
+ } else {
+ log.appendFormat("FontRenderer doesn't exist.\n");
+ }
+ }
+
+ uint32_t getSize() const {
+ return mRenderer ? mRenderer->getSize() : 0;
}
void endPrecaching();
diff --git a/libs/hwui/font/CacheTexture.cpp b/libs/hwui/font/CacheTexture.cpp
index 8ba4761..4b13814 100644
--- a/libs/hwui/font/CacheTexture.cpp
+++ b/libs/hwui/font/CacheTexture.cpp
@@ -324,5 +324,17 @@
return false;
}
+uint32_t CacheTexture::calculateFreeMemory() const {
+ CacheBlock* cacheBlock = mCacheBlocks;
+ uint32_t free = 0;
+ // currently only two formats are supported: GL_ALPHA or GL_RGBA;
+ uint32_t bpp = mFormat == GL_RGBA ? 4 : 1;
+ while (cacheBlock) {
+ free += bpp * cacheBlock->mWidth * cacheBlock->mHeight;
+ cacheBlock = cacheBlock->mNext;
+ }
+ return free;
+}
+
}; // namespace uirenderer
}; // namespace android
diff --git a/libs/hwui/font/CacheTexture.h b/libs/hwui/font/CacheTexture.h
index 4dfb41d..6750a8a 100644
--- a/libs/hwui/font/CacheTexture.h
+++ b/libs/hwui/font/CacheTexture.h
@@ -178,6 +178,8 @@
return mCurrentQuad == mMaxQuadCount;
}
+ uint32_t calculateFreeMemory() const;
+
private:
void setDirty(bool dirty);
diff --git a/libs/hwui/font/Font.cpp b/libs/hwui/font/Font.cpp
index 8e04c87..a95454a 100644
--- a/libs/hwui/font/Font.cpp
+++ b/libs/hwui/font/Font.cpp
@@ -408,9 +408,15 @@
if (cachedGlyph->mIsValid && cachedGlyph->mCacheTexture) {
int penX = x + (int) roundf(positions[(glyphsCount << 1)]);
int penY = y + (int) roundf(positions[(glyphsCount << 1) + 1]);
-
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ mState->historyTracker().glyphRendered(cachedGlyph, penX, penY);
+#endif
(*this.*render)(cachedGlyph, penX, penY,
bitmap, bitmapW, bitmapH, bounds, positions);
+ } else {
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ mState->historyTracker().glyphRendered(cachedGlyph, -1, -1);
+#endif
}
glyphsCount++;
diff --git a/libs/hwui/font/FontCacheHistoryTracker.cpp b/libs/hwui/font/FontCacheHistoryTracker.cpp
new file mode 100644
index 0000000..a2bfb27
--- /dev/null
+++ b/libs/hwui/font/FontCacheHistoryTracker.cpp
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "FontCacheHistoryTracker.h"
+
+#include "CachedGlyphInfo.h"
+#include "CacheTexture.h"
+
+namespace android {
+namespace uirenderer {
+
+void FontCacheHistoryTracker::dumpCachedGlyph(String8& log, const CachedGlyph& glyph) {
+ log.appendFormat("glyph (texture %p, position: (%d, %d), size: %dx%d, gen: %d)", glyph.texture,
+ glyph.startX, glyph.startY, glyph.bitmapW, glyph.bitmapH, glyph.generation);
+}
+
+void FontCacheHistoryTracker::dumpRenderEntry(String8& log, const RenderEntry& entry) {
+ if (entry.penX == -1 && entry.penY == -1) {
+ log.appendFormat(" glyph skipped in gen: %d\n", entry.glyph.generation);
+ } else {
+ log.appendFormat(" rendered ");
+ dumpCachedGlyph(log, entry.glyph);
+ log.appendFormat(" at (%d, %d)\n", entry.penX, entry.penY);
+ }
+}
+
+void FontCacheHistoryTracker::dumpUploadEntry(String8& log, const CachedGlyph& glyph) {
+ if (glyph.bitmapW == 0 && glyph.bitmapH == 0) {
+ log.appendFormat(" cleared cachetexture %p in gen %d\n", glyph.texture,
+ glyph.generation);
+ } else {
+ log.appendFormat(" uploaded ");
+ dumpCachedGlyph(log, glyph);
+ log.appendFormat("\n");
+ }
+}
+
+void FontCacheHistoryTracker::dump(String8& log) const {
+ log.appendFormat("FontCacheHistory: \n");
+ log.appendFormat(" Upload history: \n");
+ for (size_t i = 0; i < mUploadHistory.size(); i++) {
+ dumpUploadEntry(log, mUploadHistory[i]);
+ }
+ log.appendFormat(" Render history: \n");
+ for (size_t i = 0; i < mRenderHistory.size(); i++) {
+ dumpRenderEntry(log, mRenderHistory[i]);
+ }
+}
+
+void FontCacheHistoryTracker::glyphRendered(CachedGlyphInfo* glyphInfo, int penX, int penY) {
+ RenderEntry& entry = mRenderHistory.next();
+ entry.glyph.generation = generation;
+ entry.glyph.texture = glyphInfo->mCacheTexture;
+ entry.glyph.startX = glyphInfo->mStartX;
+ entry.glyph.startY = glyphInfo->mStartY;
+ entry.glyph.bitmapW = glyphInfo->mBitmapWidth;
+ entry.glyph.bitmapH = glyphInfo->mBitmapHeight;
+ entry.penX = penX;
+ entry.penY = penY;
+}
+
+void FontCacheHistoryTracker::glyphUploaded(CacheTexture* texture, uint32_t x, uint32_t y,
+ uint16_t glyphW, uint16_t glyphH) {
+ CachedGlyph& glyph = mUploadHistory.next();
+ glyph.generation = generation;
+ glyph.texture = texture;
+ glyph.startX = x;
+ glyph.startY = y;
+ glyph.bitmapW = glyphW;
+ glyph.bitmapH = glyphH;
+}
+
+void FontCacheHistoryTracker::glyphsCleared(CacheTexture* texture) {
+ CachedGlyph& glyph = mUploadHistory.next();
+ glyph.generation = generation;
+ glyph.texture = texture;
+ glyph.startX = 0;
+ glyph.startY = 0;
+ glyph.bitmapW = 0;
+ glyph.bitmapH = 0;
+}
+
+void FontCacheHistoryTracker::frameCompleted() {
+ generation++;
+}
+}; // namespace uirenderer
+}; // namespace android
diff --git a/libs/hwui/font/FontCacheHistoryTracker.h b/libs/hwui/font/FontCacheHistoryTracker.h
new file mode 100644
index 0000000..f1d9b9f
--- /dev/null
+++ b/libs/hwui/font/FontCacheHistoryTracker.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+#pragma once
+#include "../utils/RingBuffer.h"
+
+#include <utils/String8.h>
+
+namespace android {
+namespace uirenderer {
+
+class CacheTexture;
+struct CachedGlyphInfo;
+
+// Tracks glyph uploads and recent rendered/skipped glyphs, so it can give an idea
+// what a missing character is: skipped glyph, wrong coordinates in cache texture etc.
+class FontCacheHistoryTracker {
+public:
+ void glyphRendered(CachedGlyphInfo*, int penX, int penY);
+ void glyphUploaded(CacheTexture*, uint32_t x, uint32_t y, uint16_t glyphW, uint16_t glyphH);
+ void glyphsCleared(CacheTexture*);
+ void frameCompleted();
+
+ void dump(String8& log) const;
+private:
+ struct CachedGlyph {
+ void* texture;
+ uint16_t generation;
+ uint16_t startX;
+ uint16_t startY;
+ uint16_t bitmapW;
+ uint16_t bitmapH;
+ };
+
+ struct RenderEntry {
+ CachedGlyph glyph;
+ int penX;
+ int penY;
+ };
+
+ static void dumpCachedGlyph(String8& log, const CachedGlyph& glyph);
+ static void dumpRenderEntry(String8& log, const RenderEntry& entry);
+ static void dumpUploadEntry(String8& log, const CachedGlyph& glyph);
+
+ RingBuffer<RenderEntry, 300> mRenderHistory;
+ RingBuffer<CachedGlyph, 120> mUploadHistory;
+ uint16_t generation = 0;
+};
+
+}; // namespace uirenderer
+}; // namespace android
\ No newline at end of file
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 70b9a43..975ac83 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -608,6 +608,10 @@
}
GpuMemoryTracker::onFrameCompleted();
+#ifdef BUGREPORT_FONT_CACHE_USAGE
+ caches.fontRenderer.getFontRenderer().historyTracker().frameCompleted();
+#endif
+
}
// Called by choreographer to do an RT-driven animation
diff --git a/libs/input/PointerController.cpp b/libs/input/PointerController.cpp
index 27193b7..abef66f 100644
--- a/libs/input/PointerController.cpp
+++ b/libs/input/PointerController.cpp
@@ -36,6 +36,29 @@
namespace android {
+// --- WeakLooperCallback ---
+
+class WeakLooperCallback: public LooperCallback {
+protected:
+ virtual ~WeakLooperCallback() { }
+
+public:
+ WeakLooperCallback(const wp<LooperCallback>& callback) :
+ mCallback(callback) {
+ }
+
+ virtual int handleEvent(int fd, int events, void* data) {
+ sp<LooperCallback> callback = mCallback.promote();
+ if (callback != NULL) {
+ return callback->handleEvent(fd, events, data);
+ }
+ return 0; // the client is gone, remove the callback
+ }
+
+private:
+ wp<LooperCallback> mCallback;
+};
+
// --- PointerController ---
// Time to wait before starting the fade when the pointer is inactive.
@@ -57,10 +80,11 @@
const sp<Looper>& looper, const sp<SpriteController>& spriteController) :
mPolicy(policy), mLooper(looper), mSpriteController(spriteController) {
mHandler = new WeakMessageHandler(this);
+ mCallback = new WeakLooperCallback(this);
if (mDisplayEventReceiver.initCheck() == NO_ERROR) {
mLooper->addFd(mDisplayEventReceiver.getFd(), Looper::POLL_CALLBACK,
- Looper::EVENT_INPUT, this, nullptr);
+ Looper::EVENT_INPUT, mCallback, nullptr);
} else {
ALOGE("Failed to initialize DisplayEventReceiver.");
}
diff --git a/libs/input/PointerController.h b/libs/input/PointerController.h
index 99292d7..4794f3d 100644
--- a/libs/input/PointerController.h
+++ b/libs/input/PointerController.h
@@ -144,6 +144,7 @@
sp<Looper> mLooper;
sp<SpriteController> mSpriteController;
sp<WeakMessageHandler> mHandler;
+ sp<LooperCallback> mCallback;
DisplayEventReceiver mDisplayEventReceiver;
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java
index 5286f8f..89709ee 100644
--- a/media/java/android/media/AudioAttributes.java
+++ b/media/java/android/media/AudioAttributes.java
@@ -24,6 +24,7 @@
import android.os.Parcelable;
import android.text.TextUtils;
import android.util.Log;
+import android.util.SparseIntArray;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -170,6 +171,66 @@
public final static int USAGE_VIRTUAL_SOURCE = 15;
/**
+ * IMPORTANT: when adding new usage types, add them to SDK_USAGES and update SUPPRESSIBLE_USAGES
+ * if applicable.
+ */
+
+ /**
+ * @hide
+ * Denotes a usage for notifications that do not expect immediate intervention from the user,
+ * will be muted when the Zen mode disables notifications
+ * @see #SUPPRESSIBLE_USAGES
+ */
+ public final static int SUPPRESSIBLE_NOTIFICATION = 1;
+ /**
+ * @hide
+ * Denotes a usage for notifications that do expect immediate intervention from the user,
+ * will be muted when the Zen mode disables calls
+ * @see #SUPPRESSIBLE_USAGES
+ */
+ public final static int SUPPRESSIBLE_CALL = 2;
+
+ /**
+ * @hide
+ * Array of all usage types for calls and notifications to assign the suppression behavior,
+ * used by the Zen mode restrictions.
+ * @see com.android.server.notification.ZenModeHelper
+ */
+ public static final SparseIntArray SUPPRESSIBLE_USAGES;
+
+ static {
+ SUPPRESSIBLE_USAGES = new SparseIntArray();
+ SUPPRESSIBLE_USAGES.put(USAGE_NOTIFICATION, SUPPRESSIBLE_NOTIFICATION);
+ SUPPRESSIBLE_USAGES.put(USAGE_NOTIFICATION_RINGTONE, SUPPRESSIBLE_CALL);
+ SUPPRESSIBLE_USAGES.put(USAGE_NOTIFICATION_COMMUNICATION_REQUEST,SUPPRESSIBLE_CALL);
+ SUPPRESSIBLE_USAGES.put(USAGE_NOTIFICATION_COMMUNICATION_INSTANT,SUPPRESSIBLE_NOTIFICATION);
+ SUPPRESSIBLE_USAGES.put(USAGE_NOTIFICATION_COMMUNICATION_DELAYED,SUPPRESSIBLE_NOTIFICATION);
+ SUPPRESSIBLE_USAGES.put(USAGE_NOTIFICATION_EVENT, SUPPRESSIBLE_NOTIFICATION);
+ }
+
+ /**
+ * @hide
+ * Array of all usage types exposed in the SDK that applications can use.
+ */
+ public final static int[] SDK_USAGES = {
+ USAGE_UNKNOWN,
+ USAGE_MEDIA,
+ USAGE_VOICE_COMMUNICATION,
+ USAGE_VOICE_COMMUNICATION_SIGNALLING,
+ USAGE_ALARM,
+ USAGE_NOTIFICATION,
+ USAGE_NOTIFICATION_RINGTONE,
+ USAGE_NOTIFICATION_COMMUNICATION_REQUEST,
+ USAGE_NOTIFICATION_COMMUNICATION_INSTANT,
+ USAGE_NOTIFICATION_COMMUNICATION_DELAYED,
+ USAGE_NOTIFICATION_EVENT,
+ USAGE_ASSISTANCE_ACCESSIBILITY,
+ USAGE_ASSISTANCE_NAVIGATION_GUIDANCE,
+ USAGE_ASSISTANCE_SONIFICATION,
+ USAGE_GAME
+ };
+
+ /**
* Flag defining a behavior where the audibility of the sound will be ensured by the system.
*/
public final static int FLAG_AUDIBILITY_ENFORCED = 0x1 << 0;
diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java
index 101facd..9bf4793 100644
--- a/media/java/android/media/MediaRouter.java
+++ b/media/java/android/media/MediaRouter.java
@@ -219,26 +219,12 @@
}
if (mBluetoothA2dpRoute != null) {
- final boolean a2dpEnabled = isBluetoothA2dpOn();
- if (mainType != AudioRoutesInfo.MAIN_SPEAKER &&
- mSelectedRoute == mBluetoothA2dpRoute && !a2dpEnabled) {
- selectRouteStatic(ROUTE_TYPE_LIVE_AUDIO, mDefaultAudioVideo, false);
- } else if ((mSelectedRoute == mDefaultAudioVideo || mSelectedRoute == null) &&
- a2dpEnabled) {
+ if (mSelectedRoute == mDefaultAudioVideo || mSelectedRoute == null) {
selectRouteStatic(ROUTE_TYPE_LIVE_AUDIO, mBluetoothA2dpRoute, false);
}
}
}
- boolean isBluetoothA2dpOn() {
- try {
- return mAudioService.isBluetoothA2dpOn();
- } catch (RemoteException e) {
- Log.e(TAG, "Error querying Bluetooth A2DP state", e);
- return false;
- }
- }
-
void updateDiscoveryRequest() {
// What are we looking for today?
int routeTypes = 0;
@@ -908,6 +894,11 @@
static void selectRouteStatic(int types, @NonNull RouteInfo route, boolean explicit) {
Log.v(TAG, "Selecting route: " + route);
assert(route != null);
+ if (route == sStatic.mDefaultAudioVideo && sStatic.mBluetoothA2dpRoute != null) {
+ Log.i(TAG, "Change the route to a BT route: " + sStatic.mBluetoothA2dpRoute
+ + "\nDo not select the default route when a BT route is available.");
+ route = sStatic.mBluetoothA2dpRoute;
+ }
final RouteInfo oldRoute = sStatic.mSelectedRoute;
if (oldRoute == route) return;
if (!route.matchesTypes(types)) {
@@ -917,16 +908,6 @@
return;
}
- final RouteInfo btRoute = sStatic.mBluetoothA2dpRoute;
- if (btRoute != null && (types & ROUTE_TYPE_LIVE_AUDIO) != 0 &&
- (route == btRoute || route == sStatic.mDefaultAudioVideo)) {
- try {
- sStatic.mAudioService.setBluetoothA2dpOn(route == btRoute);
- } catch (RemoteException e) {
- Log.e(TAG, "Error changing Bluetooth A2DP state", e);
- }
- }
-
final WifiDisplay activeDisplay =
sStatic.mDisplayService.getWifiDisplayStatus().getActiveDisplay();
final boolean oldRouteHasAddress = oldRoute != null && oldRoute.mDeviceAddress != null;
@@ -966,7 +947,7 @@
static void selectDefaultRouteStatic() {
// TODO: Be smarter about the route types here; this selects for all valid.
if (sStatic.mSelectedRoute != sStatic.mBluetoothA2dpRoute
- && sStatic.mBluetoothA2dpRoute != null && sStatic.isBluetoothA2dpOn()) {
+ && sStatic.mBluetoothA2dpRoute != null) {
selectRouteStatic(ROUTE_TYPE_ANY, sStatic.mBluetoothA2dpRoute, false);
} else {
selectRouteStatic(ROUTE_TYPE_ANY, sStatic.mDefaultAudioVideo, false);
@@ -1298,12 +1279,7 @@
selectedRoute == sStatic.mDefaultAudioVideo) {
dispatchRouteVolumeChanged(selectedRoute);
} else if (sStatic.mBluetoothA2dpRoute != null) {
- try {
- dispatchRouteVolumeChanged(sStatic.mAudioService.isBluetoothA2dpOn() ?
- sStatic.mBluetoothA2dpRoute : sStatic.mDefaultAudioVideo);
- } catch (RemoteException e) {
- Log.e(TAG, "Error checking Bluetooth A2DP state to report volume change", e);
- }
+ dispatchRouteVolumeChanged(sStatic.mBluetoothA2dpRoute);
} else {
dispatchRouteVolumeChanged(sStatic.mDefaultAudioVideo);
}
diff --git a/media/java/android/media/MediaScannerConnection.java b/media/java/android/media/MediaScannerConnection.java
index d714672..471fa2c 100644
--- a/media/java/android/media/MediaScannerConnection.java
+++ b/media/java/android/media/MediaScannerConnection.java
@@ -133,6 +133,10 @@
}
try {
mContext.unbindService(this);
+ if (mClient instanceof ClientProxy) {
+ mClient = null;
+ }
+ mService = null;
} catch (IllegalArgumentException ex) {
if (false) {
Log.v(TAG, "disconnect failed: " + ex);
@@ -205,6 +209,7 @@
void scanNextPath() {
if (mNextPath >= mPaths.length) {
mConnection.disconnect();
+ mConnection = null;
return;
}
String mimeType = mMimeTypes != null ? mMimeTypes[mNextPath] : null;
diff --git a/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java b/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java
index ae8938d..728d98f 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java
@@ -341,8 +341,18 @@
// Fall back to traditional VIEW action...
intent = new Intent(Intent.ACTION_VIEW);
- intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- intent.setData(doc.derivedUri);
+ intent.setDataAndType(doc.derivedUri, doc.mimeType);
+
+ // Downloads has traditionally added the WRITE permission
+ // in the TrampolineActivity. Since this behavior is long
+ // established, we set the same permission for non-managed files
+ // This ensures consistent behavior between the Downloads root
+ // and other roots.
+ int flags = Intent.FLAG_GRANT_READ_URI_PERMISSION;
+ if (doc.isWriteSupported()) {
+ flags |= Intent.FLAG_GRANT_WRITE_URI_PERMISSION;
+ }
+ intent.setFlags(flags);
if (DEBUG && intent.getClipData() != null) {
Log.d(TAG, "Starting intent w/ clip data: " + intent.getClipData());
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java
index 3a86a51..63f66de 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java
@@ -235,6 +235,10 @@
return (flags & Document.FLAG_DIR_PREFERS_GRID) != 0;
}
+ public boolean isWriteSupported() {
+ return (flags & Document.FLAG_SUPPORTS_WRITE) != 0;
+ }
+
public boolean isDeleteSupported() {
return (flags & Document.FLAG_SUPPORTS_DELETE) != 0;
}
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoService.java b/packages/EasterEgg/src/com/android/egg/neko/NekoService.java
index 32e3358..808ec36 100644
--- a/packages/EasterEgg/src/com/android/egg/neko/NekoService.java
+++ b/packages/EasterEgg/src/com/android/egg/neko/NekoService.java
@@ -102,6 +102,14 @@
return false;
}
+ public static void registerJobIfNeeded(Context context, long intervalMinutes) {
+ JobScheduler jss = context.getSystemService(JobScheduler.class);
+ JobInfo info = jss.getPendingJob(JOB_ID);
+ if (info == null) {
+ registerJob(context, intervalMinutes);
+ }
+ }
+
public static void registerJob(Context context, long intervalMinutes) {
JobScheduler jss = context.getSystemService(JobScheduler.class);
jss.cancel(JOB_ID);
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java b/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java
index 8a3ec8f..159b40a 100644
--- a/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java
+++ b/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java
@@ -68,6 +68,9 @@
Tile tile = getQsTile();
int foodState = mPrefs.getFoodState();
Food food = new Food(foodState);
+ if (foodState != 0) {
+ NekoService.registerJobIfNeeded(this, food.getInterval(this));
+ }
tile.setIcon(food.getIcon(this));
tile.setLabel(food.getName(this));
tile.setState(foodState != 0 ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE);
diff --git a/packages/EasterEgg/src/com/android/egg/neko/PrefState.java b/packages/EasterEgg/src/com/android/egg/neko/PrefState.java
index 5f54180..bf71b19 100644
--- a/packages/EasterEgg/src/com/android/egg/neko/PrefState.java
+++ b/packages/EasterEgg/src/com/android/egg/neko/PrefState.java
@@ -43,13 +43,11 @@
public void addCat(Cat cat) {
mPrefs.edit()
.putString(CAT_KEY_PREFIX + String.valueOf(cat.getSeed()), cat.getName())
- .commit();
+ .apply();
}
public void removeCat(Cat cat) {
- mPrefs.edit()
- .remove(CAT_KEY_PREFIX + String.valueOf(cat.getSeed()))
- .commit();
+ mPrefs.edit().remove(CAT_KEY_PREFIX + String.valueOf(cat.getSeed())).apply();
}
public List<Cat> getCats() {
@@ -71,7 +69,7 @@
}
public void setFoodState(int foodState) {
- mPrefs.edit().putInt(FOOD_STATE, foodState).commit();
+ mPrefs.edit().putInt(FOOD_STATE, foodState).apply();
}
public void setListener(PrefsListener listener) {
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java
index 4f5152a..285b1ae 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPINView.java
@@ -16,12 +16,8 @@
package com.android.keyguard;
-import android.animation.Animator;
-import android.animation.ObjectAnimator;
import android.content.Context;
import android.util.AttributeSet;
-import android.view.RenderNode;
-import android.view.RenderNodeAnimator;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
@@ -144,9 +140,10 @@
setTranslationY(0);
AppearAnimationUtils.startTranslationYAnimation(this, 0 /* delay */, 280 /* duration */,
mDisappearYTranslation, mDisappearAnimationUtils.getInterpolator());
- DisappearAnimationUtils disappearAnimationUtils = mKeyguardUpdateMonitor.isUserUnlocked()
- ? mDisappearAnimationUtils
- : mDisappearAnimationUtilsLocked;
+ DisappearAnimationUtils disappearAnimationUtils = mKeyguardUpdateMonitor
+ .needsSlowUnlockTransition()
+ ? mDisappearAnimationUtilsLocked
+ : mDisappearAnimationUtils;
disappearAnimationUtils.startAnimation2d(mViews,
new Runnable() {
@Override
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java
index 84b90c4..506f77d 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java
@@ -408,9 +408,9 @@
@Override
public boolean startDisappearAnimation(final Runnable finishRunnable) {
- float durationMultiplier = mKeyguardUpdateMonitor.isUserUnlocked()
- ? 1f
- : DISAPPEAR_MULTIPLIER_LOCKED;
+ float durationMultiplier = mKeyguardUpdateMonitor.needsSlowUnlockTransition()
+ ? DISAPPEAR_MULTIPLIER_LOCKED
+ : 1f;
mLockPatternView.clearPattern();
enableClipping(false);
setTranslationY(0);
@@ -419,9 +419,10 @@
-mDisappearAnimationUtils.getStartTranslation(),
mDisappearAnimationUtils.getInterpolator());
- DisappearAnimationUtils disappearAnimationUtils = mKeyguardUpdateMonitor.isUserUnlocked()
- ? mDisappearAnimationUtils
- : mDisappearAnimationUtilsLocked;
+ DisappearAnimationUtils disappearAnimationUtils = mKeyguardUpdateMonitor
+ .needsSlowUnlockTransition()
+ ? mDisappearAnimationUtilsLocked
+ : mDisappearAnimationUtils;
disappearAnimationUtils.startAnimation2d(mLockPatternView.getCellStates(),
() -> {
enableClipping(true);
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 56f3741..dccb1a9 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -34,9 +34,12 @@
import android.app.admin.DevicePolicyManager;
import android.app.trust.TrustManager;
import android.content.BroadcastReceiver;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.database.ContentObserver;
import android.graphics.Bitmap;
import android.hardware.fingerprint.FingerprintManager;
@@ -138,6 +141,7 @@
private static final int MSG_SERVICE_STATE_CHANGE = 330;
private static final int MSG_SCREEN_TURNED_ON = 331;
private static final int MSG_SCREEN_TURNED_OFF = 332;
+ private static final int MSG_DREAMING_STATE_CHANGED = 333;
/** Fingerprint state: Not listening to fingerprint. */
private static final int FINGERPRINT_STATE_STOPPED = 0;
@@ -159,6 +163,9 @@
private static final int DEFAULT_CHARGING_VOLTAGE_MICRO_VOLT = 5000000;
+ private static final ComponentName FALLBACK_HOME_COMPONENT = new ComponentName(
+ "com.android.settings", "com.android.settings.FallbackHome");
+
private static KeyguardUpdateMonitor sInstance;
private final Context mContext;
@@ -177,7 +184,7 @@
private boolean mGoingToSleep;
private boolean mBouncer;
private boolean mBootCompleted;
- private boolean mUserUnlocked;
+ private boolean mNeedsSlowUnlockTransition;
private boolean mHasLockscreenWallpaper;
// Device provisioning state
@@ -287,6 +294,9 @@
handleScreenTurnedOff();
Trace.endSection();
break;
+ case MSG_DREAMING_STATE_CHANGED:
+ handleDreamingStateChanged(msg.arg1);
+ break;
}
}
};
@@ -572,8 +582,8 @@
&& !hasFingerprintUnlockTimedOut(sCurrentUser);
}
- public boolean isUserUnlocked() {
- return mUserUnlocked;
+ public boolean needsSlowUnlockTransition() {
+ return mNeedsSlowUnlockTransition;
}
public StrongAuthTracker getStrongAuthTracker() {
@@ -984,6 +994,17 @@
}
}
+ private void handleDreamingStateChanged(int dreamStart) {
+ final int count = mCallbacks.size();
+ boolean showingDream = dreamStart == 1;
+ for (int i = 0; i < count; i++) {
+ KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
+ if (cb != null) {
+ cb.onDreamingStateChanged(showingDream);
+ }
+ }
+ }
+
/**
* IMPORTANT: Must be called from UI thread.
*/
@@ -1444,7 +1465,18 @@
private void handleKeyguardReset() {
if (DEBUG) Log.d(TAG, "handleKeyguardReset");
updateFingerprintListeningState();
- mUserUnlocked = mUserManager.isUserUnlocked(getCurrentUser());
+ mNeedsSlowUnlockTransition = resolveNeedsSlowUnlockTransition();
+ }
+
+ private boolean resolveNeedsSlowUnlockTransition() {
+ if (mUserManager.isUserUnlocked(getCurrentUser())) {
+ return false;
+ }
+ Intent homeIntent = new Intent(Intent.ACTION_MAIN)
+ .addCategory(Intent.CATEGORY_HOME);
+ ResolveInfo resolveInfo = mContext.getPackageManager().resolveActivity(homeIntent,
+ 0 /* flags */);
+ return FALLBACK_HOME_COMPONENT.equals(resolveInfo.getComponentInfo().getComponentName());
}
/**
@@ -1719,6 +1751,14 @@
mHandler.sendEmptyMessage(MSG_SCREEN_TURNED_OFF);
}
+ public void dispatchDreamingStarted() {
+ mHandler.sendMessage(mHandler.obtainMessage(MSG_DREAMING_STATE_CHANGED, 1, 0));
+ }
+
+ public void dispatchDreamingStopped() {
+ mHandler.sendMessage(mHandler.obtainMessage(MSG_DREAMING_STATE_CHANGED, 0, 0));
+ }
+
public boolean isDeviceInteractive() {
return mDeviceInteractive;
}
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
index 4a2d356..eb29d9b 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
@@ -245,4 +245,10 @@
* Called when the state whether we have a lockscreen wallpaper has changed.
*/
public void onHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper) { }
+
+ /**
+ * Called when the dream's window state is changed.
+ * @param dreaming true if the dream's window has been created and is visible
+ */
+ public void onDreamingStateChanged(boolean dreaming) { }
}
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index b90fe66..6df553b 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -329,8 +329,8 @@
<string name="home" msgid="3256884684164448244">"Home page Impostazioni"</string>
<string-array name="battery_labels">
<item msgid="8494684293649631252">"0%"</item>
- <item msgid="8934126114226089439">"50%%"</item>
- <item msgid="1286113608943010849">"100%%"</item>
+ <item msgid="8934126114226089439">"50%"</item>
+ <item msgid="1286113608943010849">"100%"</item>
</string-array>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> fa"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> rimanenti"</string>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index b8de0c3..4af530d 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -34,7 +34,7 @@
<string name="connected_via_passpoint" msgid="2826205693803088747">"Подключено к %1$s"</string>
<string name="available_via_passpoint" msgid="1617440946846329613">"Доступно через %1$s"</string>
<string name="wifi_connected_no_internet" msgid="3149853966840874992">"Подключено, без Интернета"</string>
- <string name="bluetooth_disconnected" msgid="6557104142667339895">"Отключено"</string>
+ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Нет подключения"</string>
<string name="bluetooth_disconnecting" msgid="8913264760027764974">"Отключение..."</string>
<string name="bluetooth_connecting" msgid="8555009514614320497">"Подключение..."</string>
<string name="bluetooth_connected" msgid="6038755206916626419">"Подключено"</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/display/DisplayDensityUtils.java b/packages/SettingsLib/src/com/android/settingslib/display/DisplayDensityUtils.java
index a99e668..af8fd4c 100644
--- a/packages/SettingsLib/src/com/android/settingslib/display/DisplayDensityUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/display/DisplayDensityUtils.java
@@ -23,6 +23,7 @@
import android.hardware.display.DisplayManager;
import android.os.AsyncTask;
import android.os.RemoteException;
+import android.os.UserHandle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.MathUtils;
@@ -207,39 +208,41 @@
/**
* Asynchronously applies display density changes to the specified display.
+ * <p>
+ * The change will be applied to the user specified by the value of
+ * {@link UserHandle#myUserId()} at the time the method is called.
*
* @param displayId the identifier of the display to modify
*/
public static void clearForcedDisplayDensity(final int displayId) {
- AsyncTask.execute(new Runnable() {
- @Override
- public void run() {
- try {
- final IWindowManager wm = WindowManagerGlobal.getWindowManagerService();
- wm.clearForcedDisplayDensity(displayId);
- } catch (RemoteException exc) {
- Log.w(LOG_TAG, "Unable to clear forced display density setting");
- }
+ final int userId = UserHandle.myUserId();
+ AsyncTask.execute(() -> {
+ try {
+ final IWindowManager wm = WindowManagerGlobal.getWindowManagerService();
+ wm.clearForcedDisplayDensityForUser(displayId, userId);
+ } catch (RemoteException exc) {
+ Log.w(LOG_TAG, "Unable to clear forced display density setting");
}
});
}
/**
* Asynchronously applies display density changes to the specified display.
+ * <p>
+ * The change will be applied to the user specified by the value of
+ * {@link UserHandle#myUserId()} at the time the method is called.
*
* @param displayId the identifier of the display to modify
* @param density the density to force for the specified display
*/
public static void setForcedDisplayDensity(final int displayId, final int density) {
- AsyncTask.execute(new Runnable() {
- @Override
- public void run() {
- try {
- final IWindowManager wm = WindowManagerGlobal.getWindowManagerService();
- wm.setForcedDisplayDensity(displayId, density);
- } catch (RemoteException exc) {
- Log.w(LOG_TAG, "Unable to save forced display density setting");
- }
+ final int userId = UserHandle.myUserId();
+ AsyncTask.execute(() -> {
+ try {
+ final IWindowManager wm = WindowManagerGlobal.getWindowManagerService();
+ wm.setForcedDisplayDensityForUser(displayId, density, userId);
+ } catch (RemoteException exc) {
+ Log.w(LOG_TAG, "Unable to save forced display density setting");
}
});
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java b/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
index a50b366..458672a 100644
--- a/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
+++ b/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
@@ -28,6 +28,8 @@
import android.content.res.TypedArray;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
import android.provider.Settings;
import android.support.v4.widget.DrawerLayout;
import android.util.ArraySet;
@@ -73,6 +75,7 @@
private FrameLayout mContentHeaderContainer;
private DrawerLayout mDrawerLayout;
private boolean mShowingMenu;
+ private UserManager mUserManager;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -110,6 +113,8 @@
onTileClicked(mDrawerAdapter.getTile(position));
};
});
+
+ mUserManager = UserManager.get(this);
if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime)
+ " ms");
}
@@ -257,6 +262,7 @@
return true;
}
try {
+ updateUserHandlesIfNeeded(tile);
int numUserHandles = tile.userHandle.size();
if (numUserHandles > 1) {
ProfileSelectDialog.show(getFragmentManager(), tile);
@@ -278,6 +284,19 @@
return true;
}
+ private void updateUserHandlesIfNeeded(Tile tile) {
+ List<UserHandle> userHandles = tile.userHandle;
+
+ for (int i = userHandles.size()-1; i >= 0; i--) {
+ if (mUserManager.getUserInfo(userHandles.get(i).getIdentifier()) == null) {
+ if (DEBUG_TIMING) {
+ Log.d(TAG, "Delete the user: " + userHandles.get(i).getIdentifier());
+ }
+ userHandles.remove(i);
+ }
+ }
+ }
+
protected void onTileClicked(Tile tile) {
if (openTile(tile)) {
finish();
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index f7e9541..cd2d6b3 100644
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -36,7 +36,7 @@
<fraction name="def_window_transition_scale">100%</fraction>
<bool name="def_haptic_feedback">true</bool>
- <bool name="def_bluetooth_on">false</bool>
+ <bool name="def_bluetooth_on">true</bool>
<bool name="def_wifi_display_on">false</bool>
<bool name="def_install_non_market_apps">false</bool>
<bool name="def_package_verifier_enable">true</bool>
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 4eb3c3b..c871837 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Toestel kan gemonitor word"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profiel kan gemonitor word"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Netwerk kan dalk gemonitor word"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Netwerk kan dalk gemonitor word"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Toestelmonitering"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profielmonitering"</string>
<string name="monitoring_title" msgid="169206259253048106">"Netwerkmonitering"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Jy is gekoppel aan <xliff:g id="APPLICATION">%1$s</xliff:g>, wat jou netwerkaktiwiteit, insluitend e-posse, programme en webwerwe, kan monitor."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Jy is gekoppel aan <xliff:g id="APPLICATION">%1$s</xliff:g>, wat jou persoonlike netwerkaktiwiteit, insluitend e-posse, programme en webwerwe, kan monitor."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Jy is gekoppel aan <xliff:g id="APPLICATION">%1$s</xliff:g>, wat jou persoonlike netwerkaktiwiteit, insluitend e-posse, programme en webwerwe, kan monitor."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Jou werkprofiel word deur <xliff:g id="ORGANIZATION">%1$s</xliff:g> bestuur. Dit is gekoppel aan <xliff:g id="APPLICATION">%2$s</xliff:g>, wat jou werknetwerkaktiwiteit, insluitend e-posse, programme en webwerwe, kan monitor.\n\nKontak jou administrateur vir meer inligting."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Jou werkprofiel word deur <xliff:g id="ORGANIZATION">%1$s</xliff:g> bestuur. Dit is gekoppel aan <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, wat jou werknetwerkaktiwiteit, insluitend e-posse, programme en webwerwe, kan monitor.\n\nJy is ook gekoppel aan <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, wat jou persoonlike netwerkaktiwiteit kan monitor."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Jou toestel word bestuur deur <xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nJou administrateur kan instelings, korporatiewe toegang, programme, data wat met jou toestel geassosieer word en jou toestel se ligginginligting monitor en bestuur.\n\nJy is gekoppel aan <xliff:g id="APPLICATION">%2$s</xliff:g>, wat jou netwerkaktiwiteit, insluitend e-posse, programme en webwerwe, kan monitor.\n\nVir meer inligting, kontak jou administrateur."</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 05bb803..a060cdc 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"መሣሪያው ክትትል የሚደረግበት ሊሆን ይችላል"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"መገለጫ ክትትል ሊደረግበት ይችላል"</string>
<string name="vpn_footer" msgid="2388611096129106812">"አውታረ መረብ በክትትል እየተደረገበት ሊሆን ይችላል"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"አውታረ መረብ ክትትል የሚደረግበት ሊሆን ይችላል"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"የመሣሪያ ክትትል"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"መገለጫን መከታተል"</string>
<string name="monitoring_title" msgid="169206259253048106">"የአውታረ መረብ ክትትል"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"እርስዎ ኢሜይሎችን፣ መተግበሪያዎችን እና ድር ጣቢያዎችንም ጨምሮ የአውታረ መረብ እንቅስቃሴዎን መከታተል ከሚችለው <xliff:g id="APPLICATION">%1$s</xliff:g> ጋር ተገናኝተዋል።"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"እርስዎ ኢሜይሎችን፣ መተግበሪያዎችን እና ድር ጣቢያዎችንም ጨምሮ የግል የአውታረ መረብ እንቅስቃሴዎን መከታተል ከሚችለው <xliff:g id="APPLICATION">%1$s</xliff:g> ጋር ተገናኝተዋል።"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"እርስዎ ኢሜይሎችን፣ መተግበሪያዎችን እና ድር ጣቢያዎችንም ጨምሮ የግል የአውታረ መረብ እንቅስቃሴዎን ከሚከታተለው ከ<xliff:g id="APPLICATION">%1$s</xliff:g> ጋር ተገናኝተዋል።"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"የስራ መገለጫዎ በ<xliff:g id="ORGANIZATION">%1$s</xliff:g> ነው እየተዳደረ ያለው። ኢሜይሎችን፣ መተግበሪያዎችን እና ድር ጣቢያዎችንም ጨምሮ የአውታረ መረብ እንቅስቃሴዎን መከታተል ከሚችለው <xliff:g id="APPLICATION">%2$s</xliff:g> ጋር ተገናኝተዋል።\n\nተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"የስራ መገለጫዎ በ<xliff:g id="ORGANIZATION">%1$s</xliff:g> ነው እየተዳደረ ያለው። ኢሜይሎችን፣ መተግበሪያዎችን እና ድር ጣቢያዎችንም ጨምሮ የአውታረ መረብ እንቅስቃሴዎን መከታተል ከሚችለው <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> ጋር ተገናኝተዋል።\n\nእንዲሁም የግል አውታረ መረብ እንቅስቃሴዎን መከታተል ከሚችለው <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> ጋርም ተገናኝተዋል።"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"የእርስዎ መሣሪያ በ<xliff:g id="ORGANIZATION">%1$s</xliff:g> ነው የሚተዳደረው።\n\nየእርስዎ አስተዳዳሪ ቅንብሮችን፣ የኮርፖሬት መዳረሻን፣ መተግበሪያዎችን፣ ከመሣሪያዎ ጋር የተጎዳኘ ውሂብን እና የመሣሪያዎ የአካባቢ መረጃን መከታተል እና ማቀናበር ይችላል።\n\nእርስዎ ኢሜይሎችን፣ መተግበሪያዎችን እና ድር ጣቢያዎችን ጨምሮ የአውታረ መረብ እንቅስቃሴዎን መከታተል ከሚችለው <xliff:g id="APPLICATION">%2$s</xliff:g> ጋር ተገናኝተዋል።\n\nተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 6431db2..1dfe411 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -412,6 +412,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ربما تتم مراقبة الجهاز"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"ربما تتم مراقبة الملف الشخصي"</string>
<string name="vpn_footer" msgid="2388611096129106812">"قد تكون الشبكة خاضعة للمراقبة"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"قد تكون الشبكة خاضعة للمراقبة"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"مراقبة الأجهزة"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"مراقبة الملف الشخصي"</string>
<string name="monitoring_title" msgid="169206259253048106">"مراقبة الشبكات"</string>
@@ -424,6 +425,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"شبكة ظاهرية خاصة"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"أنت متصل بـ <xliff:g id="APPLICATION">%1$s</xliff:g>، الذي يمكنه مراقبة أنشطتك على الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"أنت متصل بـ <xliff:g id="APPLICATION">%1$s</xliff:g>، الذي يمكنه مراقبة أنشطتك الشخصية على الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"أنت متصل بـ <xliff:g id="APPLICATION">%1$s</xliff:g>، الذي يمكنه مراقبة أنشطتك الشخصية على الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"تتم إدارة ملفك الشخصي للعمل عن طريق <xliff:g id="ORGANIZATION">%1$s</xliff:g>. وهذا الملف الشخصي للعمل متصل بـ <xliff:g id="APPLICATION">%2$s</xliff:g>، الذي يمكنه مراقبة أنشطتك على شبكة العمل، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب.\n\nللمزيد من المعلومات، اتصل بالمشرف."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"تتم إدارة ملفك الشخصي للعمل عن طريق <xliff:g id="ORGANIZATION">%1$s</xliff:g>. وهذا الملف الشخصي للعمل متصل بـ <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>، الذي يمكنه مراقبة أنشطتك على شبكة العمل، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب.\n\nأنت متصل أيضًا بـ <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>، الذي يمكنه مراقبة أنشطتك الشخصية على الشبكة."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"تتم إدارة جهازك عن طريق <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nيمكن للمشرف مراقبة وإدارة كل من الإعدادات والوصول إلى الشركة والتطبيقات والبيانات المرتبطة بجهازك ومعلومات الموقع لجهازك.\n\nأنت متصل بـ <xliff:g id="APPLICATION">%2$s</xliff:g>، الذي يمكنه مراقبة أنشطتك على الشبكة، بما في ذلك الرسائل الإلكترونية والتطبيقات ومواقع الويب.\n\nللمزيد من المعلومات، اتصل بالمشرف."</string>
diff --git a/packages/SystemUI/res/values-az-rAZ/strings.xml b/packages/SystemUI/res/values-az-rAZ/strings.xml
index f29aa36..8973b86 100644
--- a/packages/SystemUI/res/values-az-rAZ/strings.xml
+++ b/packages/SystemUI/res/values-az-rAZ/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Cihaz nəzarət altında ola bilər"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil izlənə bilər"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Şəbəkə nəzərdən keçirilə bilər"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Şəbəkə nəzərdən keçirilə bilər"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Cihaza nəzarət"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profil izlənməsi"</string>
<string name="monitoring_title" msgid="169206259253048106">"Şəbəkə monitorinqi"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN (Virtual Şəxsi Şəbəkələr)"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"<xliff:g id="APPLICATION">%1$s</xliff:g> tətbiqinə qoşulmusunuz və o, e-məktublar, tətbiq və veb saytlar daxil olmaqla şəbəkə fəaliyyətinizə nəzarət edə bilər."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"<xliff:g id="APPLICATION">%1$s</xliff:g> tətbiqinə qoşulmusunuz və o, e-məktublar, tətbiq və veb saytlar daxil olmaqla şəxsi şəbəkə fəaliyyətinizə nəzarət edə bilər."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"<xliff:g id="APPLICATION">%1$s</xliff:g> tətbiqinə qoşulmusunuz və o, e-məktublar, tətbiq və veb saytlar daxil olmaqla şəxsi şəbəkə fəaliyyətinizə nəzarət edə bilər."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"İş profiliniz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tərəfindən idarə olunur. <xliff:g id="APPLICATION">%2$s</xliff:g> tətbiqinə qoşuludur və iş şəbəkə fəaliyyətinizə nəzarət edə bilər, bura e-məktubıar, tətbiq və veb saytlar daxildir.\n\nƏtraflı məlumat üçün administratorunuz ilə əlaqə saxlayın."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"İş profiliniz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tərəfindən idarə olunur. <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> tətbiqinə qoşuludur və iş şəbəkə fəaliyyətinizi idarə edə bilər, bura e-məktubıar, tətbiq və veb saytlar daxildir\n\nSiz, həmçinin, <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> tətbiqinə də qoşulsunuz və o, şəxsi şəbəkə fəaliyyətinizə nəzarət edə bilər."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Sizin cihaz tərəfindən idarə olunur <xliff:g id="ORGANIZATION">%1$s</xliff:g> . \n\n Sizin administrator nəzarət və parametrləri, korporativ giriş, apps, sizin cihaz ilə bağlı məlumat və cihaz yer məlumat idarə edə bilərsiniz. \n\n Siz bağlı olduğunuz <xliff:g id="APPLICATION">%2$s</xliff:g> , E-poçt, apps, və web o cümlədən, şəbəkə fəaliyyətinə nəzarət edə bilər. \n\n Daha ətraflı məlumat üçün, administratora müraciət."</string>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index 44874dc..cdb1917 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Uređaj se možda nadgleda"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil se možda nadgleda"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Mreža se možda nadgleda"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Mreža se možda nadgleda"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Nadgledanje uređaja"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Nadgledanje profila"</string>
<string name="monitoring_title" msgid="169206259253048106">"Nadgledanje mreže"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Povezani ste sa aplikacijom <xliff:g id="APPLICATION">%1$s</xliff:g>, koja može da nadgleda aktivnosti na mreži, uključujući imejlove, aplikacije i veb-sajtove."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Povezani ste sa aplikacijom <xliff:g id="APPLICATION">%1$s</xliff:g>, koja može da nadgleda aktivnosti na ličnoj mreži, uključujući imejlove, aplikacije i veb-sajtove."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Povezani ste sa aplikacijom <xliff:g id="APPLICATION">%1$s</xliff:g>, koja može da nadgleda aktivnosti na ličnoj mreži, uključujući imejlove, aplikacije i veb-sajtove."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Profilom za Work upravlja <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Povezan je sa aplikacijom <xliff:g id="APPLICATION">%2$s</xliff:g>, koja može da nadgleda aktivnosti na poslovnoj mreži, uključujući imejlove, aplikacije i veb-sajtove.\n\nViše informacija potražite od administratora."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Profilom za Work upravlja <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Povezan je sa aplikacijom <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, koja može da nadgleda aktivnosti na poslovnoj mreži, uključujući imejlove, aplikacije i veb-sajtove.\n\nPovezani ste i sa aplikacijom <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, koja može da nadgleda aktivnosti na ličnoj mreži."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Uređajem upravlja <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator može da nadgleda podešavanja, korporativni pristup, aplikacije, podatke povezane sa uređajem i informacije o lokaciji uređaja, kao i da upravlja njima.\n\nPovezani ste sa aplikacijom <xliff:g id="APPLICATION">%2$s</xliff:g>, koja može da nadgleda aktivnosti na mreži, uključujući imejlove, aplikacije i veb-sajtove.\n\nViše informacija potražite od administratora."</string>
diff --git a/packages/SystemUI/res/values-be-rBY/strings.xml b/packages/SystemUI/res/values-be-rBY/strings.xml
index 5c85a2d..7ddb67d 100644
--- a/packages/SystemUI/res/values-be-rBY/strings.xml
+++ b/packages/SystemUI/res/values-be-rBY/strings.xml
@@ -410,6 +410,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"За прыладай могуць назіраць"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"За профілем могуць назіраць"</string>
<string name="vpn_footer" msgid="2388611096129106812">"За сеткай могуць назіраць"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"За сеткай могуць назіраць"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Маніторынг прылад"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Маніторынг профіляў"</string>
<string name="monitoring_title" msgid="169206259253048106">"Маніторынг сеткі"</string>
@@ -422,6 +423,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Вы падлучаны да праграмы <xliff:g id="APPLICATION">%1$s</xliff:g>, якая можа сачыць за вашай сеткавай актыўнасцю, уключаючы электронную пошту, праграмы і вэб-сайты."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Вы падлучаны да праграмы <xliff:g id="APPLICATION">%1$s</xliff:g>, якая сачыць за вашай асабістай сеткавай актыўнасцю, уключаючы электронную пошту, праграмы і вэб-сайты."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Вы падключаны да праграмы <xliff:g id="APPLICATION">%1$s</xliff:g>, якая можа сачыць за вашай асабістай сеткавай дзейнасцю, уключаючы электронную пошту, праграмы і вэб-сайты."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Ваш працоўны профіль знаходзіцца пад кіраваннем <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ён падлучаны да праграмы <xliff:g id="APPLICATION">%2$s</xliff:g>, якая можа сачыць за вашай сеткавай актыўнасцю, уключаючы электронную пошту, праграмы і вэб-сайты.\n\nДля атрымання дадатковай інфармацыі звярніцеся да адміністратара."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Ваш працоўны профіль знаходзіцца пад кіраваннем <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ён падлучаны да праграмы <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, якая можа сачыць за вашай сеткавай актыўнасцю, уключаючы электронную пошту, праграмы і вэб-сайты.\n\nВы таксама падлучаны да праграмы <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, якая можа сачыць за вашай асабістай сеткавай актыўнасцю."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Ваша прылада знаходзіцца пад кіраваннем <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nВаш адміністратар можа сачыць і кіраваць наладамі, доступам да карпаратыўных рэсурсаў, праграмамі, данымі, звязанымі з вашай прыладай, і звесткамі пра месцазнаходжанне прылады.\n\nВы падлучаны да праграмы <xliff:g id="APPLICATION">%2$s</xliff:g>, якая можа сачыць за вашай сеткавай актыўнасцю, уключаючы электронную пошту, праграмы і вэб-сайты.\n\nДля атрымання дадатковай інфармацыі звярніцеся да адміністратара."</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 9a86dba..0606ab8 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Устройството може да се наблюдава"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Възможно е потребителският профил да се наблюдава"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Мрежата може да се наблюдава"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Мрежата може да се наблюдава"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Наблюдение на устройството"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Наблюдаване на потр. профил"</string>
<string name="monitoring_title" msgid="169206259253048106">"Наблюдение на мрежата"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Установена е връзка с приложението <xliff:g id="APPLICATION">%1$s</xliff:g>, което може да наблюдава активността ви в мрежата, включително имейли, приложения и уебсайтове."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Установена е връзка с приложението <xliff:g id="APPLICATION">%1$s</xliff:g>, което може да наблюдава личната ви активност в мрежата, включително имейли, приложения и уебсайтове."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Установена е връзка с приложението <xliff:g id="APPLICATION">%1$s</xliff:g>, което може да наблюдава личната ви активност в мрежата, включително имейли, приложения и уебсайтове."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Служебният ви потребителски профил се управлява от <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Той е свързан с приложението <xliff:g id="APPLICATION">%2$s</xliff:g>, което може да наблюдава служебната ви активност в мрежата, включително имейли, приложения и уебсайтове.\n\nЗа още информация се свържете с администратора си."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Служебният ви потребителски профил се управлява от <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Той е свързан с приложението <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, което може да наблюдава служебната ви активност в мрежата, включително имейли, приложения и уебсайтове.\n\nУстановена е връзка и с приложението <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, което може да наблюдава личната ви активност в мрежата."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Устройството ви се управлява от <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nАдминистраторът ви може да наблюдава и управлява настройките, корпоративния достъп, приложенията и данните, свързани с устройството ви, включително информацията за местоположението му.\n\nУстановена е връзка с приложението <xliff:g id="APPLICATION">%2$s</xliff:g>, което може да наблюдава активността ви в мрежата, включително имейли, приложения и уебсайтове.\n\nЗа още информация се свържете с администратора си."</string>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml
index 99e7e4f..aff2900 100644
--- a/packages/SystemUI/res/values-bn-rBD/strings.xml
+++ b/packages/SystemUI/res/values-bn-rBD/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ডিভাইসটি নিরীক্ষণ করা হতে পারে"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"প্রোফাইল পর্যবেক্ষণ করা হতে পারে"</string>
<string name="vpn_footer" msgid="2388611096129106812">"নেটওয়ার্ক নিরীক্ষণ করা হতে পারে"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"নেটওয়ার্ক নিরীক্ষণ করা হতে পারে"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"ডিভাইস নিরীক্ষণ"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"প্রোফাইল দেখরেখ করা"</string>
<string name="monitoring_title" msgid="169206259253048106">"নেটওয়ার্ক নিরীক্ষণ"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"আপনি <xliff:g id="APPLICATION">%1$s</xliff:g> -এ সংযুক্ত হয়েছেন, যা ইমেল, অ্যাপ্লিকেশান এবং ওয়েবসাইটগুলি সমেত আপনার নেটওয়ার্ক কার্যকলাপ নিরীক্ষণ করতে পারে৷"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"আপনি <xliff:g id="APPLICATION">%1$s</xliff:g> -এ সংযুক্ত হয়েছেন, যা ইমেল, অ্যাপ্লিকেশান এবং ওয়েবসাইটগুলি সমেত আপনার ব্যক্তিগত নেটওয়ার্ক কার্যকলাপ নিরীক্ষণ করতে পারে৷"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"আপনি <xliff:g id="APPLICATION">%1$s</xliff:g> এর সাথে সংযুক্ত হয়েছেন, যা ইমেল, অ্যাপ এবং ওয়েবসাইটগুলি সহ আপনার ব্যক্তিগত নেটওয়ার্কের কার্যকলাপ নিরীক্ষণ করবে৷"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> আপনার কাজের প্রোফাইল পরিচালনা করে৷ এটি <xliff:g id="APPLICATION">%2$s</xliff:g> -এ সংযুক্ত রয়েছে যা আপনার ইমেল, অ্যাপ্লিকেশান ও ওয়েবসাইটগুলি সহ আপনার কাজের নেটওয়ার্কের কার্যকলাপ নিরীক্ষণ করতে পারে৷\n\nআরো তথ্যের জন্য, আপনার প্রশাসকের সাথে যোগাযোগ করুন৷"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> আপনার কাজের প্রোফাইল পরিচালনা করে৷ এটি <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> -এ সংযুক্ত রয়েছে যা আপনার ইমেল, অ্যাপ্লিকেশান ও ওয়েবসাইটগুলি সহ আপনার কাজের নেটওয়ার্কের কার্যকলাপ নিরীক্ষণ করতে পারে৷\n\nএছাড়াও আপনি <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> এর সাথে সংযুক্ত রয়েছেন যা আপনার ব্যক্তিগত নেটওয়ার্কের কার্যকলাপ নিরীক্ষণ করতে পারে৷"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> আপনার ডিভাইস পরিচালনা করে৷\n\nআপনার প্রশাসক আপনার ডিভাইসের সাথে সম্পর্কিত সেটিংস, কর্পোরেট অ্যাক্সেস, অ্যাপ্লিকেশান ডেটা এবং ডিভাইসের অবস্থান সম্পর্কিত তথ্য নিরীক্ষণ ও পরিচালনা করতে পারেন৷\n\nআপনি <xliff:g id="APPLICATION">%2$s</xliff:g> এর সাথে সংযুক্ত রয়েছেন যা ইমেল, অ্যাপ্লিকেশান ও ওয়েবসাইটগুলি সহ আপনার নেটওয়ার্কের কার্যকলাপ নিরীক্ষণ করতে পারে৷\n\nআরো তথ্যের জন্য, আপনার প্রশাসকের সাথে যোগাযোগ করুন৷"</string>
diff --git a/packages/SystemUI/res/values-bs-rBA/strings.xml b/packages/SystemUI/res/values-bs-rBA/strings.xml
index ca0e935..08a12d7 100644
--- a/packages/SystemUI/res/values-bs-rBA/strings.xml
+++ b/packages/SystemUI/res/values-bs-rBA/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Uređaj može biti nadziran"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil može biti nadziran"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Mreža može biti nadzirana"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Mreža može biti nadzirana"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Praćenje uređaja"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Praćenje profila"</string>
<string name="monitoring_title" msgid="169206259253048106">"Praćenje mreže"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Povezani ste sa aplikacijom <xliff:g id="APPLICATION">%1$s</xliff:g>, koja može pratiti vašu aktivnost na mreži, uključujući e-mailove, aplikacije i web-lokacije."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Povezani ste sa aplikacijom <xliff:g id="APPLICATION">%1$s</xliff:g>, koja može pratiti vašu aktivnost na privatnoj mreži, uključujući e-mailove, aplikacije i web-lokacije."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Povezani ste na aplikaciju <xliff:g id="APPLICATION">%1$s</xliff:g>, koja može pratiti vaše privatne aktivnosti na mreži, uključujući e-poštu, aplikacije i web stranice."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Profilom za posao upravlja <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Povezan je sa aplikacijom <xliff:g id="APPLICATION">%2$s</xliff:g>, koja može pratiti vašu aktivnost na radnoj mreži, uključujući e-poštu, aplikacije i web-lokacije.\n\nZa više informacija kontaktirajte svog administratora."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Profilom za posao upravlja <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Povezan je sa aplikacijom <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, koja može pratiti vašu aktivnost na radnoj mreži, uključujući e-poštu, aplikacije i web-lokacije.\n\nPovezani ste i sa aplikacijom <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, koja može pratiti vašu aktivnost na privatnoj mreži."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Vašim uređajem upravlja <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nVaš administrator može pratiti postavke, korporativni pristup, aplikacije, podatke povezane sa vašim uređajem i informacije o lokaciji uređaja, kao i upravljati njima.\n\nPovezani ste sa aplikacijom <xliff:g id="APPLICATION">%2$s</xliff:g>, koja može pratiti vašu aktivnost na mreži, uključujući e-poštu, aplikacije i web-lokacije.\n\nZa više informacija kontaktirajte svog administratora."</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 4738ec0..b51d7e7 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"És possible que el dispositiu estigui supervisat."</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"El perfil es pot supervisar"</string>
<string name="vpn_footer" msgid="2388611096129106812">"És possible que la xarxa estigui supervisada."</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"És possible que la xarxa estigui supervisada"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Supervisió del dispositiu"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Supervisió del perfil"</string>
<string name="monitoring_title" msgid="169206259253048106">"Supervisió de la xarxa"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Estàs connectat a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pot supervisar la teva activitat a la xarxa, com ara els correus electrònics, les aplicacions i els llocs web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Estàs connectat a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pot supervisar la teva activitat personal a la xarxa, com ara els correus electrònics, les aplicacions i els llocs web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Estàs connectat a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pot supervisar la teva activitat personal a la xarxa, com ara els correus electrònics, les aplicacions i els llocs web."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> gestiona el teu perfil professional. Aquest perfil està connectat a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pot supervisar la teva activitat professional a la xarxa, com ara els correus electrònics, les aplicacions i els llocs web.\n\nPer obtenir més informació, contacta amb l\'administrador."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> gestiona el teu perfil professional. Aquest perfil està connectat a <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, que pot supervisar la teva activitat professional a la xarxa, com ara els correus electrònics, les aplicacions i els llocs web.\n\nA més, estàs connectat a <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, que també pot supervisar la teva activitat personal a la xarxa."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> gestiona el dispositiu.\n\nL\'administrador pot supervisar i gestionar el següent: configuració, accés corporatiu, aplicacions i dades associades amb el dispositiu, inclosa la informació d\'ubicació.\n\nEstàs connectat a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pot supervisar l\'activitat a la xarxa, com ara els correus, les aplicacions i els llocs web.\n\nPer obtenir més informació, contacta amb l\'administrador."</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 7db3ad6..782602a 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -410,6 +410,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Zařízení může být sledováno"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil může být monitorován"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Síť může být sledována"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Síť může být monitorována"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Sledování zařízení"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitoring profilu"</string>
<string name="monitoring_title" msgid="169206259253048106">"Sledování sítě"</string>
@@ -422,6 +423,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Jste připojeni k aplikaci <xliff:g id="APPLICATION">%1$s</xliff:g>, která může sledovat vaši aktivitu v síti, včetně e-mailů, aplikací a webů."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Jste připojeni k aplikaci <xliff:g id="APPLICATION">%1$s</xliff:g>, která může sledovat vaši osobní aktivitu v síti, včetně e-mailů, aplikací a webů."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Jste připojeni k aplikaci <xliff:g id="APPLICATION">%1$s</xliff:g>, která může sledovat vaši osobní aktivitu v síti, včetně e-mailů, aplikací a webů."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Váš pracovní profil spravuje organizace <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Je připojen k aplikaci <xliff:g id="APPLICATION">%2$s</xliff:g>, která může sledovat vaši aktivitu v síti, včetně e-mailů, aplikací a webů.\n\nO další informace požádejte svého administrátora."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Váš pracovní profil spravuje organizace <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Je připojen k aplikaci <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, která může sledovat vaši aktivitu v síti, včetně e-mailů, aplikací a webů.\n\nTaké jste připojeni k aplikaci <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, která může sledovat vaši osobní aktivitu v síti."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Toto zařízení spravuje organizace <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrátor může sledovat a spravovat nastavení, firemní přístup, aplikace, data přidružená k tomuto zařízení a informace o jeho poloze.\n\nJste připojeni k aplikaci <xliff:g id="APPLICATION">%2$s</xliff:g>, která může sledovat vaši osobní aktivitu v síti, včetně e-mailů, aplikací a webů.\n\nO další informace požádejte svého administrátora."</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index fa55437..c37fe15 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Enheden kan være overvåget"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profilen kan overvåges"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Netværket kan være overvåget"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Netværket kan være overvåget"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Overvågning af enhed"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profilovervågning"</string>
<string name="monitoring_title" msgid="169206259253048106">"Overvågning af netværk"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Du har forbindelse til <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan overvåge din netværksaktivitet, bl.a. e-mails, apps og websites."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Du har forbindelse til <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan overvåge din private netværksaktivitet, bl.a. e-mails, apps og websites."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Du har forbindelse til <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan overvåge din private netværksaktivitet, bl.a. e-mails, apps og websites."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Din arbejdsprofil administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Den er forbundet til <xliff:g id="APPLICATION">%2$s</xliff:g>, som kan overvåge din arbejdsrelaterede netværksaktivitet, bl.a. e-mails, apps og websites.\n\nKontakt din administrator for at få flere oplysninger."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Din arbejdsprofil administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Den er forbundet til <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, som kan overvåge din arbejdsrelaterede netværksaktivitet, bl.a. e-mails, apps og websites.\n\nDu er også forbundet til <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, som kan overvåge din private netværksaktivitet."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Din enhed administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge og administrere indstillinger, virksomhedens adgang, data tilknyttet din enhed og enhedens stedoplysninger.\n\nDu er forbundet til <xliff:g id="APPLICATION">%2$s</xliff:g>, som kan overvåge din netværksaktivitet, bl.a. e-mails, apps og websites.\n\nKontakt din administrator for at få flere oplysninger."</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 8be1d1d..c353fae 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Aktivität auf dem Gerät kann vom Eigentümer protokolliert werden"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil wird möglicherweise überwacht."</string>
<string name="vpn_footer" msgid="2388611096129106812">"Das Netzwerk wird möglicherweise überwacht."</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Das Netzwerk wird möglicherweise überwacht"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Geräteüberwachung"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profilüberwachung"</string>
<string name="monitoring_title" msgid="169206259253048106">"Netzwerküberwachung"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Du bist mit der App <xliff:g id="APPLICATION">%1$s</xliff:g> verbunden, die deine Netzwerkaktivität überwachen kann, einschließlich E-Mails, Apps und Websites."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Du bist mit der App <xliff:g id="APPLICATION">%1$s</xliff:g> verbunden, die deine persönliche Netzwerkaktivität überwachen kann, einschließlich E-Mails, Apps und Websites."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Du bist mit der App \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" verbunden. Diese kann deine persönlichen Netzwerkaktivitäten erfassen, einschließlich E-Mails, Apps und Websites."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Dein Arbeitsprofil wird von <xliff:g id="ORGANIZATION">%1$s</xliff:g> verwaltet. Das Profil ist mit der App <xliff:g id="APPLICATION">%2$s</xliff:g> verbunden, die deine geschäftlichen Netzwerkaktivitäten überwachen kann, einschließlich E-Mails, Apps und Websites.\n\nWeitere Informationen erhältst du von deinem Administrator."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Dein Arbeitsprofil wird von <xliff:g id="ORGANIZATION">%1$s</xliff:g> verwaltet. Das Profil ist mit der App <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> verbunden, die deine geschäftliche Netzwerkaktivität überwachen kann, einschließlich E-Mails, Apps und Websites.\n\nDu bist außerdem mit der App <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> verbunden, die deine persönliche Netzwerkaktivität überwachen kann."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Dein Gerät wird von <xliff:g id="ORGANIZATION">%1$s</xliff:g> verwaltet.\n\nDein Administrator kann die zu deinem Gerät gehörigen Einstellungen, Unternehmenszugriffsrechte, Apps und Daten überwachen und verwalten, einschließlich der Standortinformationen deines Geräts.\n\nDu bist außerdem mit der App <xliff:g id="APPLICATION">%2$s</xliff:g> verbunden, die deine persönliche Netzwerkaktivität überwachen kann, einschließlich E-Mails, Apps und Websites.\n\nWeitere Informationen erhältst du bei deinem Administrator."</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index c64a97c..ac260dc 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Η συσκευή μπορεί να παρακολουθείται"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Το προφίλ ενδέχεται να παρακολουθείται"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Το δίκτυο ενδέχεται να παρακολουθείται"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Το δίκτυο ενδέχεται να παρακολουθείται"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Παρακολούθηση συσκευής"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Παρακολούθηση προφίλ"</string>
<string name="monitoring_title" msgid="169206259253048106">"Παρακολούθηση δικτύου"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Έχετε συνδεθεί στην εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g>, η οποία μπορεί να παρακολουθεί τη δραστηριότητα του δικτύου σας, συμπεριλαμβανομένων μηνυμάτων ηλεκτρονικού ταχυδρομείου, εφαρμογών και ιστότοπων."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Έχετε συνδεθεί στην εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g>, η οποία μπορεί να παρακολουθεί τη δραστηριότητα του προσωπικού σας δικτύου, συμπεριλαμβανομένων μηνυμάτων ηλεκτρονικού ταχυδρομείου, εφαρμογών και ιστότοπων."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Έχετε συνδεθεί στην εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g>, η οποία μπορεί να παρακολουθεί τη δραστηριότητα του προσωπικού σας δικτύου, συμπεριλαμβανομένων μηνυμάτων ηλεκτρονικού ταχυδρομείου, εφαρμογών και ιστοτόπων."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Η διαχείριση του προφίλ εργασίας γίνεται από τον οργανισμό <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Είναι συνδεδεμένο στην εφαρμογή <xliff:g id="APPLICATION">%2$s</xliff:g>, η οποία μπορεί να παρακολουθεί τη δραστηριότητα του δικτύου εργασίας, συμπεριλαμβανομένων μηνυμάτων ηλεκτρονικού ταχυδρομείου, εφαρμογών και ιστότοπων.\n\nΓια περισσότερες πληροφορίες, επικοινωνήστε με το διαχειριστή."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Η διαχείριση του προφίλ εργασίας γίνεται από τον οργανισμό <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Είναι συνδεδεμένο στην εφαρμογή <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, η οποία μπορεί να παρακολουθεί τη δραστηριότητα του δικτύου εργασίας, συμπεριλαμβανομένων μηνυμάτων ηλεκτρονικού ταχυδρομείου, εφαρμογών και ιστότοπων.\n\nΕπίσης, είστε συνδεδεμένοι στην εφαρμογή <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, η οποία μπορεί να παρακολουθεί τη δραστηριότητα του προσωπικού σας δικτύου."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Η διαχείριση της συσκευής γίνεται από <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nΟ διαχειριστής μπορεί να παρακολουθεί και να διαχειρίζεται ρυθμίσεις, εταιρική πρόσβαση, εφαρμογές, δεδομένα σχετικά με τη συσκευή και πληρ. τοποθεσίας της συσκευής.\n\nΕίστε συνδεδ. σε <xliff:g id="APPLICATION">%2$s</xliff:g> που μπορεί να παρακολουθεί τη δραστηρ. του δικτύου εργασίας, όπως μηνύματα ηλεκτρ. ταχυδρομείου, εφαρμογές και ιστότοπους.\n\nΓια περισ. πληροφορίες, επικοινωνήστε με το διαχειριστή."</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index c4d1c06..f974183 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Device may be monitored"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profile may be monitored"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Network may be monitored"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Network may be monitored"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Device monitoring"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profile monitoring"</string>
<string name="monitoring_title" msgid="169206259253048106">"Network monitoring"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"You\'re connected to <xliff:g id="APPLICATION">%1$s</xliff:g>, which can monitor your network activity including emails, apps and websites."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"You\'re connected to <xliff:g id="APPLICATION">%1$s</xliff:g>, which can monitor your personal network activity, including emails, apps and websites."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"You\'re connected to <xliff:g id="APPLICATION">%1$s</xliff:g>, which can monitor your personal network activity, including emails, apps and websites."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Your work profile is managed by <xliff:g id="ORGANIZATION">%1$s</xliff:g>. It is connected to <xliff:g id="APPLICATION">%2$s</xliff:g>, which can monitor your work network activity, including emails, apps and websites.\n\nFor more information, contact your administrator."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Your work profile is managed by <xliff:g id="ORGANIZATION">%1$s</xliff:g>. It is connected to <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, which can monitor your work network activity, including emails, apps and websites.\n\nYou\'re also connected to <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, which can monitor your personal network activity."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Your device is managed by <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nYour administrator can monitor and manage settings, corporate access, apps, data associated with your device, and your device\'s location information.\n\nYou\'re connected to <xliff:g id="APPLICATION">%2$s</xliff:g>, which can monitor your network activity, including emails, apps, and websites.\n\nFor more information, contact your administrator."</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index c4d1c06..f974183 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Device may be monitored"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profile may be monitored"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Network may be monitored"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Network may be monitored"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Device monitoring"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profile monitoring"</string>
<string name="monitoring_title" msgid="169206259253048106">"Network monitoring"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"You\'re connected to <xliff:g id="APPLICATION">%1$s</xliff:g>, which can monitor your network activity including emails, apps and websites."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"You\'re connected to <xliff:g id="APPLICATION">%1$s</xliff:g>, which can monitor your personal network activity, including emails, apps and websites."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"You\'re connected to <xliff:g id="APPLICATION">%1$s</xliff:g>, which can monitor your personal network activity, including emails, apps and websites."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Your work profile is managed by <xliff:g id="ORGANIZATION">%1$s</xliff:g>. It is connected to <xliff:g id="APPLICATION">%2$s</xliff:g>, which can monitor your work network activity, including emails, apps and websites.\n\nFor more information, contact your administrator."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Your work profile is managed by <xliff:g id="ORGANIZATION">%1$s</xliff:g>. It is connected to <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, which can monitor your work network activity, including emails, apps and websites.\n\nYou\'re also connected to <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, which can monitor your personal network activity."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Your device is managed by <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nYour administrator can monitor and manage settings, corporate access, apps, data associated with your device, and your device\'s location information.\n\nYou\'re connected to <xliff:g id="APPLICATION">%2$s</xliff:g>, which can monitor your network activity, including emails, apps, and websites.\n\nFor more information, contact your administrator."</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index c4d1c06..f974183 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Device may be monitored"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profile may be monitored"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Network may be monitored"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Network may be monitored"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Device monitoring"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profile monitoring"</string>
<string name="monitoring_title" msgid="169206259253048106">"Network monitoring"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"You\'re connected to <xliff:g id="APPLICATION">%1$s</xliff:g>, which can monitor your network activity including emails, apps and websites."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"You\'re connected to <xliff:g id="APPLICATION">%1$s</xliff:g>, which can monitor your personal network activity, including emails, apps and websites."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"You\'re connected to <xliff:g id="APPLICATION">%1$s</xliff:g>, which can monitor your personal network activity, including emails, apps and websites."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Your work profile is managed by <xliff:g id="ORGANIZATION">%1$s</xliff:g>. It is connected to <xliff:g id="APPLICATION">%2$s</xliff:g>, which can monitor your work network activity, including emails, apps and websites.\n\nFor more information, contact your administrator."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Your work profile is managed by <xliff:g id="ORGANIZATION">%1$s</xliff:g>. It is connected to <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, which can monitor your work network activity, including emails, apps and websites.\n\nYou\'re also connected to <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, which can monitor your personal network activity."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Your device is managed by <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nYour administrator can monitor and manage settings, corporate access, apps, data associated with your device, and your device\'s location information.\n\nYou\'re connected to <xliff:g id="APPLICATION">%2$s</xliff:g>, which can monitor your network activity, including emails, apps, and websites.\n\nFor more information, contact your administrator."</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index ee8b5c7..12062d1 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Es posible que el dispositivo esté supervisado."</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Es posible que se supervise el perfil."</string>
<string name="vpn_footer" msgid="2388611096129106812">"Es posible que la red esté supervisada."</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Es posible que la red esté supervisada"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Supervisión del dispositivo"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Supervisión del perfil"</string>
<string name="monitoring_title" msgid="169206259253048106">"Supervisión de red"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Tienes conexión a la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g>, que puede supervisar la actividad de la red, incluidos los correos electrónicos, las aplicaciones y los sitios web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Tienes conexión a la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g>, que puede supervisar la actividad de la red personal, incluidos los correos electrónicos, las aplicaciones y los sitios web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Te conectaste a <xliff:g id="APPLICATION">%1$s</xliff:g>, que puede supervisar la actividad de tu red personal, incluidos los correos electrónicos, las apps y los sitios web."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> administra tu perfil de trabajo. Tiene conexión a <xliff:g id="APPLICATION">%2$s</xliff:g>, que puede supervisar la actividad de tu red de trabajo, incluidos los correos electrónicos, las aplicaciones y los sitios web.\n\nPara obtener más información, comunícate con el administrador."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> administra tu perfil de trabajo. Tiene conexión a <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, que puede supervisar la actividad de tu red de trabajo, incluidos los correos electrónicos, las aplicaciones y los sitios web.\n\nTambién tienes conexión a <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, que puede supervisar la actividad de la red personal."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> administra tu dispositivo.\n\nEl administrador puede supervisar y administrar la configuración, el acceso corporativo, las aplicaciones, los datos asociados al dispositivo y la información de la ubicación.\n\nTienes conexión a <xliff:g id="APPLICATION">%2$s</xliff:g>, que puede supervisar la actividad de la red, incluidos los correos electrónicos, las aplicaciones y los sitios web.\n\nPara obtener más información, comunícate con el administrador."</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 4d9a899..8d6f9d8 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Es posible que este dispositivo esté supervisado"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Es posible que se supervise el perfil"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Puede que la red esté supervisada"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Puede que la red esté supervisada"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Supervisión de dispositivo"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Supervisión del perfil"</string>
<string name="monitoring_title" msgid="169206259253048106">"Supervisión de red"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Estás conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que puede controlar tu actividad de red, como correos electrónicos, aplicaciones y sitios web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Estas conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que puede controlar tu actividad de red personal, como correos electrónicos, aplicaciones y sitios web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Estas conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que puede controlar tu actividad de red personal, como correos electrónicos, aplicaciones y sitios web."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"El administrador de tu perfil de trabajo es <xliff:g id="ORGANIZATION">%1$s</xliff:g> y está conectado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que puede controlar tu actividad de red del trabajo, como correos electrónicos, aplicaciones y sitios web.\n\nPara obtener más información, ponte en contacto con el administrador."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"El administrador de tu perfil de trabajo es <xliff:g id="ORGANIZATION">%1$s</xliff:g> y está conectado a <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, que puede controlar tu actividad de red, como correos electrónicos, aplicaciones y sitios web.\n\nTú también estás conectado a <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, que puede controlar tu actividad de red personal."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"El administrador de tu dispositivo es <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nTu administrador puede supervisar y administrar los ajustes, el acceso corporativo, las aplicaciones, los datos asociados al dispositivo e información de su ubicación.\n\nEstás conectado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que puede supervisar tu actividad de red, como correos electrónicos, aplicaciones y sitios web.\n\nPara obtener más información, ponte en contacto con tu administrador."</string>
diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml
index 74bdf3e..801eb03 100644
--- a/packages/SystemUI/res/values-et-rEE/strings.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Seadet võidakse jälgida"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profiili võidakse jälgida"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Võrku võidakse jälgida"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Võrku võidakse jälgida"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Seadme jälgimine"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profiili jälgimine"</string>
<string name="monitoring_title" msgid="169206259253048106">"Võrgu jälgimine"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Teie seade on ühendatud rakendusega <xliff:g id="APPLICATION">%1$s</xliff:g>, mis võib jälgida teie võrgutegevusi, sh meile, rakendusi ja veebisaite."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Teie seade on ühendatud rakendusega <xliff:g id="APPLICATION">%1$s</xliff:g>, mis võib jälgida teie isiklikke võrgutegevusi, sh meile, rakendusi ja veebisaite."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Olete ühendatud rakendusega <xliff:g id="APPLICATION">%1$s</xliff:g>, mis võib jälgida teie isiklikke võrgutegevusi, sh meile, rakendusi ja veebisaite."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Teie tööprofiili haldab organisatsioon <xliff:g id="ORGANIZATION">%1$s</xliff:g>. See on ühendatud rakendusega <xliff:g id="APPLICATION">%2$s</xliff:g>, mis võib jälgida teie töökoha võrgutegevusi, sh meile, rakendusi ja veebisaite.\n\nLisateabe saamiseks võtke ühendust administraatoriga."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Teie tööprofiili haldab organisatsioon <xliff:g id="ORGANIZATION">%1$s</xliff:g>. See on ühendatud rakendusega <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, mis võib jälgida teie töökoha võrgutegevusi, sh meile, rakendusi ja veebisaite.\n\nTeie seade on ühendatud ka rakendusega <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, mis võib jälgida teie isiklikke võrgutegevusi."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Teie seadet haldab organisatsioon <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministraator saab jälgida ja hallata seadeid, ettevõttesisest juurdepääsu, rakendusi, seadmega seotud andmeid ja seadme asukohateavet.\n\nOlete ühendatud rakendusega <xliff:g id="APPLICATION">%2$s</xliff:g>, mis saab jälgida teie võrgutegevusi, sh meile, rakendusi ja veebisaite.\n\nLisateabe saamiseks võtke ühendust administraatoriga."</string>
diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml
index 6e02dc7..2c3a314 100644
--- a/packages/SystemUI/res/values-eu-rES/strings.xml
+++ b/packages/SystemUI/res/values-eu-rES/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Baliteke gailua kontrolatuta egotea"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Baliteke profila kontrolatuta egotea"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Baliteke sarea kontrolatuta egotea"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Baliteke sarea kontrolatuta egotea"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Gailuen kontrola"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profila kontrolatzeko aukera"</string>
<string name="monitoring_title" msgid="169206259253048106">"Sareen kontrola"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN konexioa"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"<xliff:g id="APPLICATION">%1$s</xliff:g> aplikaziora konektatuta zaude. Aplikazio horrek sarean egiten dituzun jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webguneak barne."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"<xliff:g id="APPLICATION">%1$s</xliff:g> aplikaziora konektatuta zaude. Aplikazio horrek sarean egiten dituzun jarduera pertsonalak kontrola ditzake, mezu elektronikoak, aplikazioak eta webguneak barne."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"<xliff:g id="APPLICATION">%1$s</xliff:g> aplikaziora konektatuta zaude. Aplikazio horrek sarean egiten dituzun jarduera pertsonalak kontrola ditzake, mezu elektronikoak, aplikazioak eta webguneak barne."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> da laneko profilaren kudeatzailea, eta profila <xliff:g id="APPLICATION">%2$s</xliff:g> aplikaziora konektatuta dago. Aplikazio horrek sarean egiten dituzun laneko jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webguneak barne.\n\nInformazio gehiago lortzeko, jarri administratzailearekin harremanetan."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> da laneko profilaren kudeatzailea, eta profila <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> aplikaziora konektatuta dago. Aplikazio horrek sarean egiten dituzun laneko jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webguneak barne.\n\nHorrez gain, sarean egiten dituzun jarduera pertsonalak kontrola ditzakeen <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> aplikaziora konektatuta zaude."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> da gailuaren kudeatzailea.\n\nAdministratzaileak ezarpenak, enpresako sarbidea, aplikazioak, gailuarekin lotutako datuak eta gailuaren kokapenari buruzko informazioa kontrola eta kudea ditzake.\n\n<xliff:g id="APPLICATION">%2$s</xliff:g> aplikaziora konektatuta zaude. Aplikazio horrek sarean egiten dituzun jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webguneak barne.\n\nInformazio gehiago lortzeko, jarri administratzailearekin harremanetan."</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 0b145aa..dcc30e2 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -347,8 +347,8 @@
<string name="description_direction_left" msgid="7207478719805562165">"لغزاندن به چپ برای <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
<string name="zen_priority_introduction" msgid="3070506961866919502">"صداها و لرزشهایی به جز هشدارها، یادآوریها، رویدادها و تماسگیرندههایی که مشخص میکنید، مزاحم شما نمیشوند."</string>
<string name="zen_priority_customize_button" msgid="7948043278226955063">"سفارشی کردن"</string>
- <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"این کار «همه» صداها و لرزشها از جمله هشدارها، موسیقی، ویدیوها و بازیها را مسدود میکند. همچنان میتوانید تماس تلفنی برقرار کنید."</string>
- <string name="zen_silence_introduction" msgid="3137882381093271568">"این کار «همه» صداها و لرزشها از جمله هشدارها، موسیقی، ویدیوها و بازیها را مسدود میکند."</string>
+ <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"این کار «همه» صداها و لرزشها از جمله هشدارها، موسیقی، ویدئوها و بازیها را مسدود میکند. همچنان میتوانید تماس تلفنی برقرار کنید."</string>
+ <string name="zen_silence_introduction" msgid="3137882381093271568">"این کار «همه» صداها و لرزشها از جمله هشدارها، موسیقی، ویدئوها و بازیها را مسدود میکند."</string>
<string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
<string name="speed_bump_explanation" msgid="1288875699658819755">"اعلانهای کمتر فوری در زیر"</string>
<string name="notification_tap_again" msgid="7590196980943943842">"دوباره ضربه بزنید تا باز شود"</string>
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ممکن است دستگاه کنترل شود"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"شاید نمایه کنترل شود"</string>
<string name="vpn_footer" msgid="2388611096129106812">"ممکن است شبکه کنترل شود"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"ممکن است شبکه کنترل شود"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"کنترل دستگاه"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"کنترل نمایه"</string>
<string name="monitoring_title" msgid="169206259253048106">"کنترل شبکه"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"شما به <xliff:g id="APPLICATION">%1$s</xliff:g> وصل شدهاید، که میتواند فعالیت شبکه شما از جمله رایانامه، برنامه و وبسایتها را کنترل کند."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"شما به <xliff:g id="APPLICATION">%1$s</xliff:g> وصل شدهاید، که میتواند فعالیت شبکه شخصی شما از جمله رایانامه، برنامه و وبسایتها را کنترل کند."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"به <xliff:g id="APPLICATION">%1$s</xliff:g> وصل شدهاید، که میتواند فعالیت شبکه شخصی شما را (ازجمله رایانامهها، برنامهها و وبسایتها) کنترل کند."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"نمایه کاریتان توسط <xliff:g id="ORGANIZATION">%1$s</xliff:g> مدیریت میشود. این به <xliff:g id="APPLICATION">%2$s</xliff:g> وصل است که فعالیت شبکه کاریتان از جمله رایانامه، برنامه و وبسایتها را کنترل میکند.\n\nبرای دریافت اطلاعات بیشتر، با سرپرستتان تماس بگیرید."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"نمایه کاری شما توسط <xliff:g id="ORGANIZATION">%1$s</xliff:g> مدیریت میشود. این به <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> متصل است که میتواند فعالیت شبکه کاریتان از جمله رایانامه، برنامه و وبسایتها را کنترل کند.\n\nشما همچنین به <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> متصل هستید که میتواند فعالیت شبکه شخصیتان را کنترل کند."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"دستگاهتان توسط <xliff:g id="ORGANIZATION">%1$s</xliff:g> مدیریت میشود.\n\nسرپرستتان میتواند تنظیمات، دسترسی شرکت، برنامهها، دادههای مرتبط با دستگاهتان و اطلاعات مکان دستگاهتان را کنترل و مدیریت کند.\n\nشما به <xliff:g id="APPLICATION">%2$s</xliff:g> وصل هستید که میتواند فعالیت شبکه شما را کنترل کند، از جمله رایانامه، برنامه و وبسایتها.\n\nبرای دریافت اطلاعات بیشتر، با سرپرستتان تماس بگیرید."</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 4bb1fd8..cc5ee98 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Laitetta voidaan valvoa"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profiilia saatetaan valvoa"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Verkkoa saatetaan valvoa"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Verkkoa saatetaan valvoa"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Laitteiden valvonta"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profiilin valvonta"</string>
<string name="monitoring_title" msgid="169206259253048106">"Verkon valvonta"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Olet muodostanut yhteyden sovellukseen <xliff:g id="APPLICATION">%1$s</xliff:g>, joka voi valvoa toimintaasi verkossa. Sovellus voi seurata esimerkiksi avaamiasi sähköposteja, sovelluksia ja verkkosivustoja."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Olet muodostanut yhteyden sovellukseen <xliff:g id="APPLICATION">%1$s</xliff:g>, joka voi valvoa henkilökohtaista toimintaasi verkossa. Sovellus voi seurata esimerkiksi avaamiasi sähköposteja, sovelluksia ja verkkosivustoja."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Olet muodostanut yhteyden sovellukseen <xliff:g id="APPLICATION">%1$s</xliff:g>, joka voi valvoa henkilökohtaista toimintaasi verkossa. Sovellus voi esimerkiksi seurata avaamiasi sähköposteja, sovelluksia ja verkkosivustoja."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Työprofiiliasi hallinnoi <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Se on yhteydessä sovellukseen <xliff:g id="APPLICATION">%2$s</xliff:g>, joka voi valvoa työhön liittyvää toimintaasi verkossa. Sovellus voi seurata esimerkiksi avaamiasi sähköposteja, sovelluksia ja verkkosivustoja.\n\nSaat lisätietoja järjestelmänvalvojaltasi."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Työprofiiliasi hallinnoi <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Se on yhteydessä sovellukseen <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, joka voi valvoa työhön liittyvää toimintaasi verkossa. Sovellus voi seurata esimerkiksi avaamiasi sähköposteja, sovelluksia ja verkkosivustoja.\n\nLisäksi olet yhteydessä sovellukseen <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, joka voi valvoa henkilökohtaista toimintaasi verkossa."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Laitettasi hallinnoi <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nJärjestelmänvalvojasi voi valvoa ja hallinnoida laitteesi asetuksia, yrityskäyttöä, sovelluksia, laitteeseesi liittyviä tietoja ja laitteen sijaintitietoja.\n\nOlet yhteydessä sovellukseen <xliff:g id="APPLICATION">%2$s</xliff:g>, joka voi valvoa toimintaasi verkossa. Sovellus voi seurata esimerkiksi avaamiasi sähköposteja, sovelluksia ja verkkosivustoja.\n\nLisätietoja saat järjestelmänvalvojaltasi."</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 4ef20c6..09dd85a 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Il est possible que cet appareil soit surveillé."</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"le profil peut être contrôlé"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Le réseau peut être surveillé"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Le réseau peut être surveillé"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Surveillance d\'appareils"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Contrôle de profil"</string>
<string name="monitoring_title" msgid="169206259253048106">"Surveillance réseau"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"RPV"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Vous êtes connecté à <xliff:g id="APPLICATION">%1$s</xliff:g>. Cette application peut contrôler votre activité sur le réseau, y compris les courriels, les applications et les sites Web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Vous êtes connecté à <xliff:g id="APPLICATION">%1$s</xliff:g>. Cette application peut contrôler votre activité personnelle sur le réseau, y compris les courriels, les applications et les sites Web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Vous êtes connecté à <xliff:g id="APPLICATION">%1$s</xliff:g>. Cette application peut contrôler votre activité personnelle sur le réseau, y compris les courriels, les applications et les sites Web."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Votre profil professionnel est géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Il est connecté à <xliff:g id="APPLICATION">%2$s</xliff:g>. Cette application peut contrôler votre activité sur le réseau, y compris les courriels, les applications et les sites Web.\n\nPour en savoir plus, communiquez avec votre administrateur."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Votre profil professionnel est géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Il est connecté à <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>. Cette application peut contrôler votre activité sur le réseau, y compris les courriels, les applications et les sites Web.\n\nVous êtes également connecté à <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>. Cette application peut contrôler votre activité personnelle sur le réseau."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Votre appareil est géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nVotre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les données associées à cet appareil et ses données de localisation.\n\nVous êtes connecté à <xliff:g id="APPLICATION">%2$s</xliff:g>, qui peut contrôler votre activité réseau, y compris les courriels, les applications et les sites Web.\n\nPour en savoir plus, communiquez avec votre administrateur."</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 3c23a4e..f516e54 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Il est possible que cet appareil soit surveillé."</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Le profil peut être contrôlé."</string>
<string name="vpn_footer" msgid="2388611096129106812">"Il est possible que le réseau soit surveillé."</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Il est possible que le réseau soit surveillé."</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Contrôle des appareils"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Contrôle du profil"</string>
<string name="monitoring_title" msgid="169206259253048106">"Contrôle du réseau"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Vous êtes connecté à <xliff:g id="APPLICATION">%1$s</xliff:g>. Cette application peut contrôler votre activité sur le réseau, y compris l\'activité relative aux e-mails, aux applications et aux sites Web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Vous êtes connecté à <xliff:g id="APPLICATION">%1$s</xliff:g>. Cette application peut contrôler votre activité personnelle sur le réseau, y compris votre activité relative aux e-mails, aux applications et aux sites Web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Vous êtes connecté à <xliff:g id="APPLICATION">%1$s</xliff:g>. Cette application peut contrôler votre activité personnelle sur le réseau, y compris les e-mails, les applications et les sites Web."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Votre profil professionnel est géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Il est connecté à <xliff:g id="APPLICATION">%2$s</xliff:g>. Cette application peut contrôler l\'activité de ce profil sur le réseau, y compris l\'activité relative aux e-mails, aux applications et aux sites Web.\n\nPour en savoir plus, contactez votre administrateur."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Votre profil professionnel est géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Il est connecté à <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>. Cette application peut contrôler l\'activité de ce profil sur le réseau, y compris l\'activité relative aux e-mails, aux applications et aux sites Web.\n\nVous êtes également connecté à <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>. Cette application peut surveiller votre activité personnelle sur le réseau."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Votre appareil géré par <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nVotre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications, les données associées à cet appareil et les informations de localisation de celui-ci.\n\nVous êtes connecté à <xliff:g id="APPLICATION">%2$s</xliff:g> qui peut contrôler votre activité sur le réseau (e-mails, applications et sites Web).\n\nPour en savoir plus, contactez votre administrateur."</string>
diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml
index 34462ba..01ddd36 100644
--- a/packages/SystemUI/res/values-gl-rES/strings.xml
+++ b/packages/SystemUI/res/values-gl-rES/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"É posible que se supervise o dispositivo"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"O perfil pódese supervisar"</string>
<string name="vpn_footer" msgid="2388611096129106812">"É posible que se supervise a rede"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"É posible que se supervise a rede"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Supervisión de dispositivos"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Supervisión do perfil"</string>
<string name="monitoring_title" msgid="169206259253048106">"Supervisión de rede"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Estás conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode supervisar a túa actividade na rede, incluídos os correos electrónicos, as aplicacións e os sitios web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Estás conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode supervisar a túa actividade persoal na rede, incluídos os correos electrónicos, as aplicacións e os sitios web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Estás conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode supervisar a túa actividade persoal na rede, incluídos os correos electrónicos, as aplicacións e os sitios web."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"O teu perfil de traballo está xestionado por <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Está conectado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pode supervisar a túa actividade na rede, incluídos os correos electrónicos, as aplicacións e os sitios web.\n\nPara obter máis información, ponte en contacto co teu administrador."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"O teu perfil de traballo está xestionado por <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Está conectado a <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, que pode supervisar a túa actividade na rede, incluídos os correos electrónicos, as aplicacións e os sitios web.\n\nTamén estás conectado a <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, que pode supervisar a túa actividade persoal na rede."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"O dispositivo está xestionado por <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nO teu administrador pode supervisar e xestionar a configuración, o acceso corporativo, as aplicacións, os datos asociados co dispositivo e a información de localización do dispositivo.\n\nEstás conectado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pode supervisar a túa actividade na rede: os correos electrónicos, as aplicacións e os sitios web.\n\nPara obter máis información, contacta co teu administrador."</string>
diff --git a/packages/SystemUI/res/values-gu-rIN/strings.xml b/packages/SystemUI/res/values-gu-rIN/strings.xml
index c509f96..a560ab8 100644
--- a/packages/SystemUI/res/values-gu-rIN/strings.xml
+++ b/packages/SystemUI/res/values-gu-rIN/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ઉપકરણ મૉનિટર કરી શકાય છે"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"પ્રોફાઇલ મૉનિટર કરી શકાય છે"</string>
<string name="vpn_footer" msgid="2388611096129106812">"નેટવર્ક મૉનિટર કરી શકાય છે"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"નેટવર્ક મૉનિટર કરવામાં આવી શકે છે"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"ઉપકરણ નિરીક્ષણ"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"પ્રોફાઇલ નિરીક્ષણ"</string>
<string name="monitoring_title" msgid="169206259253048106">"નેટવર્ક મૉનિટરિંગ"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"તમે <xliff:g id="APPLICATION">%1$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"તમે <xliff:g id="APPLICATION">%1$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી વ્યક્તિગત નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"તમે <xliff:g id="APPLICATION">%1$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિત તમારી વ્યક્તિગત નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"તમારી કાર્ય પ્રોફાઇલ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે. તે <xliff:g id="APPLICATION">%2$s</xliff:g> સાથે કનેક્ટ થયેલ છે, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી કાર્ય નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"તમારી કાર્ય પ્રોફાઇલ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે. તે <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> સાથે કનેક્ટ થયેલ છે, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી કાર્ય નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે.\n\nતમે <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> સાથે પણ કનેક્ટ થયેલ છો, જે તમારી વ્યક્તિગત નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"તમારું ઉપકરણ <xliff:g id="ORGANIZATION">%1$s</xliff:g> દ્વારા સંચાલિત થાય છે.\n\nતમારા વ્યવસ્થાપક, સેટિંગ્સ, કોર્પોરેટ ઍક્સેસ, ઍપ્લિકેશનો, તમારા ઉપકરણ સાથે સંકળાયેલ ડેટા અને તમારા ઉપકરણની સ્થાન માહિતીને મૉનિટર કરી અને સંચાલિત કરી શકે છે.\n\nતમે <xliff:g id="APPLICATION">%2$s</xliff:g> સાથે કનેક્ટ થયાં છો, જે ઇમેઇલ્સ, ઍપ્લિકેશનો અને વેબસાઇટ્સ સહિતની તમારી નેટવર્ક પ્રવૃત્તિને મૉનિટર કરી શકે છે.\n\nવધુ માહિતી માટે, તમારા વ્યવસ્થાપકનો સંપર્ક કરો."</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 4ff4071..62ece3c 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"डिवाइस को मॉनीटर किया जा सकता है"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"प्रोफ़ाइल को मॉनीटर किया जा सकता है"</string>
<string name="vpn_footer" msgid="2388611096129106812">"नेटवर्क को मॉनीटर किया जा सकता है"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"नेटवर्क को मॉनिटर किया जा सकता है"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"डिवाइस को मॉनीटर करना"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"प्रोफ़ाइल को मॉनीटर करना"</string>
<string name="monitoring_title" msgid="169206259253048106">"नेटवर्क को मॉनीटर करना"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"आप <xliff:g id="APPLICATION">%1$s</xliff:g> से कनेक्ट हैं, जो ईमेल, ऐप्स और वेबसाइटों सहित आपकी नेटवर्क गतिविधि की निगरानी कर सकता है."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"आप <xliff:g id="APPLICATION">%1$s</xliff:g> से कनेक्ट हैं, जो ईमेल, ऐप्स और वेबसाइटों सहित आपकी व्यक्तिगत नेटवर्क गतिविधि की निगरानी कर सकता है."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"आप <xliff:g id="APPLICATION">%1$s</xliff:g> से कनेक्ट हैं, जो ईमेल, ऐप्लिकेशन और वेबसाइट सहित आपकी व्यक्तिगत नेटवर्क गतिविधि को मॉनिटर कर सकता है."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"आपकी कार्य प्रोफ़ाइल <xliff:g id="ORGANIZATION">%1$s</xliff:g> के द्वारा प्रबंधित है. वह <xliff:g id="APPLICATION">%2$s</xliff:g> से कनेक्ट है, जो ईमेल, ऐप्स और वेबसाइटों सहित आपकी कार्य नेटवर्क गतिविधि की निगरानी कर सकता है.\n\nअधिक जानकारी के लिए, अपने नियंत्रक से संपर्क करें."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"आपकी कार्य प्रोफ़ाइल <xliff:g id="ORGANIZATION">%1$s</xliff:g> के द्वारा प्रबंधित है. वह <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> से कनेक्ट है, जो ईमेल, ऐप्स और वेबसाइटों सहित आपकी कार्य नेटवर्क गतिविधि की निगरानी कर सकता है.\n\nआप <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> से भी कनेक्ट हैं, जो आपकी व्यक्तिगत नेटवर्क गतिविधि की निगरानी कर सकता है."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"आपका डिवाइस <xliff:g id="ORGANIZATION">%1$s</xliff:g> के द्वारा प्रबंधित है.\n\nआपका नियंत्रक सेटिंग, कॉर्पोरेट ऐक्सेस, ऐप्स, आपके डिवाइस से संबद्ध डेटा और आपके डिवाइस की स्थान जानकारी की निगरानी और उसका प्रबंधन कर सकता है.\n\nआप <xliff:g id="APPLICATION">%2$s</xliff:g> से कनेक्ट हैं, जो ईमेल, ऐप्स और वेबसाइटों सहित आपकी नेटवर्क गतिविधि की निगरानी कर सकता है.\n\nअधिक जानकारी के लिए, अपने नियंत्रक से संपर्क करें."</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 543e962..bdf8faf 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Uređaj se možda nadzire"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil se možda nadzire"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Mreža se možda nadzire"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Mreža se možda nadzire"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Nadzor uređaja"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Nadzor profila"</string>
<string name="monitoring_title" msgid="169206259253048106">"Nadzor mreže"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Povezani ste s aplikacijom <xliff:g id="APPLICATION">%1$s</xliff:g> koja može nadzirati vašu aktivnost na mreži, uključujući e-poštu, aplikacije i web-lokacije."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Povezani ste s aplikacijom <xliff:g id="APPLICATION">%1$s</xliff:g> koja može nadzirati vašu osobnu aktivnost na mreži, uključujući e-poštu, aplikacije i web-lokacije."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Povezani ste s aplikacijom <xliff:g id="APPLICATION">%1$s</xliff:g> koja može nadzirati vašu osobnu aktivnost na mreži, uključujući e-poštu, aplikacije i web-lokacije."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Vašim poslovnim profilom upravlja <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Povezan je s aplikacijom <xliff:g id="APPLICATION">%2$s</xliff:g> koja može nadzirati vašu poslovnu aktivnost na mreži, uključujući e-poštu, aplikacije i web-lokacije.\n\nObratite se svojem administratoru za više informacija."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Vašim poslovnim profilom upravlja <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Povezan je s aplikacijom <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> koja može nadzirati vašu poslovnu aktivnost na mreži, uključujući e-poštu, aplikacije i web-lokacije.\n\nPovezani ste i s aplikacijom <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> koja može nadzirati vašu osobnu aktivnost na mreži."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Vašim uređajem upravlja <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nVaš administrator može nadzirati postavke, poslovni pristup, aplikacije, podatke povezane s uređajem i podatke o lokaciji uređaja te upravljati njima.\n\nPovezani ste s aplikacijom <xliff:g id="APPLICATION">%2$s</xliff:g> koja može nadzirati vašu aktivnost na mreži, uključujući e-poštu, aplikacije i web-lokacije.\n\nObratite se svojem administratoru za više informacija."</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 3a43eae..92d8721 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Lehet, hogy az eszközt figyelik"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profilját felügyelhetik"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Lehet, hogy a hálózatot figyelik"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Lehet, hogy a hálózat felügyelt"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Eszközfigyelés"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profilfelügyelet"</string>
<string name="monitoring_title" msgid="169206259253048106">"Hálózatfigyelés"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Csatlakoztatta a(z) <xliff:g id="APPLICATION">%1$s</xliff:g> alkalmazást, amely figyelheti hálózati tevékenységét, beleértve az e-maileket, az alkalmazásokat és a webhelyeket."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Csatlakoztatta a(z) <xliff:g id="APPLICATION">%1$s</xliff:g> alkalmazást, amely figyelheti személyes hálózati tevékenységét, beleértve az e-maileket, az alkalmazásokat és a webhelyeket."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Ön a(z) <xliff:g id="APPLICATION">%1$s</xliff:g> alkalmazáshoz csatlakozik, amely figyelheti személyes hálózati tevékenységét, beleértve az e-maileket, alkalmazásokat és webhelyeket."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Munkaprofilját a(z) <xliff:g id="ORGANIZATION">%1$s</xliff:g> felügyeli. Csatlakoztatva van hozzá a(z) <xliff:g id="APPLICATION">%2$s</xliff:g> alkalmazás, amely figyelheti az Ön hálózati tevékenységét, beleértve az e-maileket, az alkalmazásokat és a webhelyeket.\n\nTovábbi információért forduljon a rendszergazdájához."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Munkaprofilját a(z) <xliff:g id="ORGANIZATION">%1$s</xliff:g> felügyeli. Csatlakoztatva van hozzá a(z) <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> alkalmazás, amely figyelheti az Ön hálózati tevékenységét, beleértve az e-maileket, az alkalmazásokat és a webhelyeket.\n\nCsatlakoztatta továbbá a(z) <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> alkalmazást, amely szintén figyelemmel kísérheti személyes hálózati tevékenységét."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Eszközét a következő felügyeli: <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nA rendszergazda figyelemmel kísérheti és módosíthatja beállításait, vállalati hozzáféréseit, alkalmazásait, az eszközéhez társított adatokat és eszköze helyadatait.\n\nÖn a következőhöz csatlakozik: <xliff:g id="APPLICATION">%2$s</xliff:g>, amely (az e-mailekre, alkalmazásokra és webhelyekre is kiterjedően) figyelemmel kísérheti hálózati tevékenységét.\n\nTovábbi információért forduljon a rendszergazdához."</string>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml
index 79371ec..99b5f52 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Սարքը կարող է վերահսկվել"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Պրոֆիլը կարող է վերահսկվել"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Ցանցը կարող է վերահսկվել"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Ցանցը կարող է վերահսկվել"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Սարքի մշտադիտարկում"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Պրոֆիլի վերահսկում"</string>
<string name="monitoring_title" msgid="169206259253048106">"Ցանցի մշտադիտարկում"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Դուք կապակցված եք <xliff:g id="APPLICATION">%1$s</xliff:g> հավելվածին, որը կարող է վերահսկել ձեր ցանցի գործունեությունը, այդ թվում նաև էլփոստի հաշիվները, հավելվածները և կայքերը:"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Դուք կապակցված եք <xliff:g id="APPLICATION">%1$s</xliff:g> հավելվածին, որը կարող է վերահսկել անձնական ցանցում կատարած ձեր գործողությունները, այդ թվում նաև էլփոստի հաշիվները, հավելվածները և կայքերը:"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Դուք կապակցված եք <xliff:g id="APPLICATION">%1$s</xliff:g> հավելվածին, որը կարող է վերահսկել անձնական ցանցում կատարած ձեր գործողությունները, այդ թվում նաև էլփոստի հաշիվները, հավելվածները և կայքերը:"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Աշխատանքային պրոֆիլի կառավարիչն է՝ <xliff:g id="ORGANIZATION">%1$s</xliff:g>: Այն կապակցված է <xliff:g id="APPLICATION">%2$s</xliff:g> հավելվածին, որը կարող է վերահսկել աշխատանքային ցանցում կատարած գործունեությունը, այդ թվում նաև էլփոստի հաշիվները, հավելվածները և կայքերը:\n\nԼրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Աշխատանքային պրոֆիլի կառավարիչն է՝ <xliff:g id="ORGANIZATION">%1$s</xliff:g>: Այն կապակցված է <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> հավելվածին, որը կարող է վերահսկել աշխատանքային ցանցում կատարած գործունեությունը, այդ թվում նաև էլփոստի հաշիվները, հավելվածները և կայքերը:\n\nԴուք նույնպես կապակցված եք <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> հավելվածին, որը կարող է վերահսկել անձնական ցանցում կատարած ձեր գործողությունները:"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Սարքի կառավարիչն է՝ <xliff:g id="ORGANIZATION">%1$s</xliff:g>:\n\nԱդմինիստրատորը կարող է վերահսկել և կառավարել կարգավորումները, կորպորատիվ հաշիվը, հավելվածները, սարքի հետ առնչվող և սարքի տեղադրության տվյալները:\n\nՆաև կապակցված եք <xliff:g id="APPLICATION">%2$s</xliff:g> հավելվածին, ինչը կարող է վերահսկել ձեր ցանցի գործունեությունը, այդ թվում նաև՝ էլփոստի հաշիվները, հավելվածները և կայքերը:\n\nԼրացուցիչ տեղեկությունների համար դիմեք ադմինիստրատորին:"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index fd0bbe0..4591758 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Perangkat mungkin dipantau"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil dapat dipantau"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Jaringan mungkin dipantau"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Jaringan mungkin dipantau"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Pemantauan perangkat"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Pemantauan profil"</string>
<string name="monitoring_title" msgid="169206259253048106">"Pemantauan jaringan"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Anda tersambung ke <xliff:g id="APPLICATION">%1$s</xliff:g>, yang dapat memantau aktivitas jaringan, termasuk email, aplikasi, dan situs web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Anda tersambung ke <xliff:g id="APPLICATION">%1$s</xliff:g>, yang dapat memantau aktivitas jaringan pribadi, termasuk email, aplikasi, dan situs web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Anda tersambung ke <xliff:g id="APPLICATION">%1$s</xliff:g>, yang dapat memantau aktivitas jaringan pribadi, termasuk email, aplikasi, dan situs web.."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Profil kerja dikelola oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g> dan tersambung ke <xliff:g id="APPLICATION">%2$s</xliff:g>, yang dapat memantau aktivitas jaringan kerja, termasuk email, aplikasi, dan situs web.\n\nUntuk informasi selengkapnya, hubungi administrator."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Profil kerja dikelola oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g> dan tersambung ke <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, yang dapat memantau aktivitas jaringan kerja, termasuk email, aplikasi, dan situs web.\n\nAnda juga tersambung ke <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, yang dapat memantau aktivitas jaringan pribadi."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Perangkat dikelola oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator dapat memantau dan mengelola setelan, akses perusahaan, aplikasi, data terkait perangkat, dan informasi lokasi perangkat.\n\nAnda tersambung ke <xliff:g id="APPLICATION">%2$s</xliff:g>, yang dapat memantau aktivitas jaringan, termasuk email, aplikasi, dan situs web.\n\nUntuk informasi selengkapnya, hubungi administrator."</string>
diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml
index b6224d9..117652d 100644
--- a/packages/SystemUI/res/values-is-rIS/strings.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Hugsanlega er fylgst með tækjum"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Hugsanlega er fylgst með þessu sniði"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Hugsanlega er fylgst með netinu"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Hugsanlega er fylgst með netinu"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Tækjaeftirlit"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Fylgst með sniði"</string>
<string name="monitoring_title" msgid="169206259253048106">"Neteftirlit"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Þú ert með tengingu við <xliff:g id="APPLICATION">%1$s</xliff:g>, sem getur fylgst með netnotkun þinni, þ. á m. tölvupósti, forritum og vefsvæðum."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Þú ert með tengingu við <xliff:g id="APPLICATION">%1$s</xliff:g>, sem getur fylgst með persónulegri netnotkun þinni, þ. á m. tölvupósti, forritum og vefsvæðum."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Þú ert með tengingu við <xliff:g id="APPLICATION">%1$s</xliff:g>, sem getur fylgst með persónulegri netnotkun þinni, þ. á m. tölvupósti, forritum og vefsvæðum."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Vinnusniðinu þínu er stjórnað af <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Það er tengt <xliff:g id="APPLICATION">%2$s</xliff:g>, sem getur fylgst með vinnutengdri netnotkun þinni, þar á meðal tölvupósti, forritum og vefsvæðum.\n\nHafðu samband við kerfisstjórann til að fá frekari upplýsingar."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Vinnusniðinu þínu er stjórnað af <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Það er tengt <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, sem getur fylgst með vinnutengdri netnotkun þinni, þar á meðal tölvupósti, forritum og vefsvæðum.\n\nÞú ert einnig með tengingu við <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, sem getur fylgst með persónulegri netnotkun þinni."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Tækinu er stjórnað af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nKerfisstjórinn þinn getur fylgst með og stjórnað stillingum, fyrirtækjaaðgangi, forritum, gögnum sem tengd eru tækinu og staðsetningarupplýsingum tækisins.\n\nÞú ert með tengingu við <xliff:g id="APPLICATION">%2$s</xliff:g>, sem getur fylgst með netnotkun þinni, þar á meðal tölvupósti, forritum og vefsvæðum.\n\nHafðu samband við kerfisstjórann til að fá frekari upplýsingar."</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 154fc1d..ed27f8a 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Il dispositivo potrebbe essere monitorato"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Il profilo potrebbe essere monitorato"</string>
<string name="vpn_footer" msgid="2388611096129106812">"La rete potrebbe essere monitorata"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"La rete potrebbe essere monitorata"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Monitoraggio del dispositivo"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitoraggio del profilo"</string>
<string name="monitoring_title" msgid="169206259253048106">"Monitoraggio rete"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Sei connesso a <xliff:g id="APPLICATION">%1$s</xliff:g>, da cui è possibile monitorare la tua attività di rete, inclusi email, app e siti web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Sei connesso a <xliff:g id="APPLICATION">%1$s</xliff:g>, da cui è possibile monitorare la tua attività di rete personale, inclusi email, app e siti web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Sei collegato a <xliff:g id="APPLICATION">%1$s</xliff:g>, che consente di monitorare la tua attività di rete personale, inclusi siti web, email e app."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Il tuo profilo di lavoro è gestito da <xliff:g id="ORGANIZATION">%1$s</xliff:g>. È connesso a <xliff:g id="APPLICATION">%2$s</xliff:g>, da cui è possibile monitorare la tua attività di rete lavorativa, inclusi email, app e siti web.\n\nPer ulteriori informazioni, contatta il tuo amministratore."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Il tuo profilo di lavoro è gestito da <xliff:g id="ORGANIZATION">%1$s</xliff:g>. È connesso a <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, da cui è possibile monitorare la tua attività di rete lavorativa, inclusi email, app e siti web.\n\nSei connesso anche a <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, da cui è possibile monitorare la tua attività di rete personale."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Il tuo dispositivo è gestito da <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nL\'amministratore può monitorare e gestire impostazioni, accesso aziendale, app e dati associati al dispositivo, incluse le informazioni sulla posizione del dispositivo.\n\nSei connesso a <xliff:g id="APPLICATION">%2$s</xliff:g>, da cui è possibile monitorare la tua attività di rete, inclusi email, app e siti web.\n\nPer ulteriori informazioni, contatta l\'amministratore."</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 5c93b6f..e82a479 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -408,6 +408,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ייתכן שהמכשיר נמצא במעקב"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"ייתכן שהפרופיל נתון למעקב"</string>
<string name="vpn_footer" msgid="2388611096129106812">"ייתכן שהרשת נמצאת במעקב"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"ייתכן שהרשת מנוטרת"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"מעקב אחר מכשיר"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"מעקב אחר פרופיל"</string>
<string name="monitoring_title" msgid="169206259253048106">"מעקב אחר פעילות ברשת"</string>
@@ -420,6 +421,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"אתה מחובר לאפליקציה <xliff:g id="APPLICATION">%1$s</xliff:g>, שיכולה לעקוב אחר הפעילות שלך ברשת, כולל הודעות אימייל, אפליקציות ואתרים."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"אתה מחובר לאפליקציה <xliff:g id="APPLICATION">%1$s</xliff:g>, שיכולה לעקוב אחר הפעילות שלך ברשת הפרטית, כולל הודעות אימייל, אפליקציות ואתרים."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"אתה מחובר לאפליקציה <xliff:g id="APPLICATION">%1$s</xliff:g>, שיכולה לעקוב אחר הפעילות שלך ברשת הפרטית, כולל הודעות אימייל, אפליקציות ואתרים."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"פרופיל העבודה שלך מנוהל על ידי <xliff:g id="ORGANIZATION">%1$s</xliff:g>. הוא מחובר לאפליקציה <xliff:g id="APPLICATION">%2$s</xliff:g>, שיכולה לעקוב אחר הפעילות שלך ברשת העסקית, כולל הודעות אימייל, אפליקציות ואתרים.\n\nלמידע נוסף, פנה למנהל המערכת שלך."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"פרופיל העבודה שלך מנוהל על ידי <xliff:g id="ORGANIZATION">%1$s</xliff:g>. הוא מחובר לאפליקציה <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, שיכולה לעקוב אחר הפעילות שלך ברשת העסקית, כולל הודעות אימייל, אפליקציות ואתרים.\n\nאתה מחובר גם לאפליקציה <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, שיכולה לעקוב אחר הפעילות שלך ברשת הפרטית."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"המכשיר שלך מנוהל על ידי <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nמנהל המערכת שלך יכול לעקוב אחר הגדרות, גישה עסקית, אפליקציות, נתונים המשויכים למכשיר שלך ומידע על מיקום המכשיר, ולנהל אותם.\n\nאתה מחובר לאפליקציה <xliff:g id="APPLICATION">%2$s</xliff:g>, שיכולה לעקוב אחר הפעילות שלך ברשת, כולל הודעות אימייל, אפליקציות ואתרים.\n\nלמידע נוסף, פנה למנהל המערכת שלך."</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index b14de70..f3f5cd5 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"端末が監視されている可能性があります"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"プロファイルが監視されている可能性があります"</string>
<string name="vpn_footer" msgid="2388611096129106812">"ネットワークが監視されている可能性があります"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"ネットワークが監視されている可能性があります"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"端末の監視"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"プロファイルの監視"</string>
<string name="monitoring_title" msgid="169206259253048106">"ネットワーク監視"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"<xliff:g id="APPLICATION">%1$s</xliff:g>に接続しています。このアプリはあなたのネットワークアクティビティ(メール、アプリ、ウェブサイトなど)を監視できます。"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"<xliff:g id="APPLICATION">%1$s</xliff:g>に接続しています。このアプリはあなたの個人のネットワークアクティビティ(メール、アプリ、ウェブサイトなど)を監視できます。"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"「<xliff:g id="APPLICATION">%1$s</xliff:g>」に接続しています。このアプリはあなたの個人のネットワーク アクティビティ(メール、アプリ、ウェブサイトなど)を監視できます。"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"この仕事用プロファイルは<xliff:g id="ORGANIZATION">%1$s</xliff:g>によって管理され、<xliff:g id="APPLICATION">%2$s</xliff:g>に接続しています。このアプリはあなたの仕事のネットワークアクティビティ(メール、アプリ、ウェブサイトなど)を監視できます。\n\n詳しくは管理者にお問い合わせください。"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"この仕事用プロファイルは<xliff:g id="ORGANIZATION">%1$s</xliff:g>によって管理され、<xliff:g id="APPLICATION_WORK">%2$s</xliff:g>に接続しています。このアプリはあなたの仕事のネットワークアクティビティ(メール、アプリ、ウェブサイトなど)を監視できます。\n\n<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>にも接続しているため、個人のネットワークアクティビティも監視できます。"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"この端末は<xliff:g id="ORGANIZATION">%1$s</xliff:g>によって管理されています。\n\n管理者は設定、コーポレートアクセス、アプリ、端末に関連付けられたデータ、端末の位置情報を監視、管理できます。\n\n<xliff:g id="APPLICATION">%2$s</xliff:g>に接続しているため、このアプリもネットワークアクティビティ(メール、アプリ、ウェブサイトなど)を監視できます。\n\n詳しくは管理者にお問い合わせください。"</string>
diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml
index 9038da1..5743bc8 100644
--- a/packages/SystemUI/res/values-ka-rGE/strings.xml
+++ b/packages/SystemUI/res/values-ka-rGE/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"შესაძლოა მოწყობილობის მონიტორინგი არ ხორციელდება"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"შესაძლოა პროფილზე ხორციელდებოდეს მონიტორინგი"</string>
<string name="vpn_footer" msgid="2388611096129106812">"შესაძლოა ქსელზე ხორციელდება მონიტორინგი"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"ქსელზე შესაძლოა მონიტორინგი ხორციელდებოდეს"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"მოწყობილობის მონიტორინგი"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"პროფილის მონიტორინგი"</string>
<string name="monitoring_title" msgid="169206259253048106">"ქსელის მონიტორინგი"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"თქვენ დაუკავშირდით <xliff:g id="APPLICATION">%1$s</xliff:g>-ს, რომელსაც შეუძლია თქვენი ქსელის აქტივობის, მათ შორის, ელფოსტის, აპებისა და ვებსაიტების მონიტორინგი."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"თქვენ დაუკავშირდით <xliff:g id="APPLICATION">%1$s</xliff:g>-ს, რომელსაც შეუძლია თქვენი პირადი ქსელის აქტივობის, მათ შორის, ელფოსტის, აპებისა და ვებსაიტების მონიტორინგი."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"თქვენ დაუკავშირდით <xliff:g id="APPLICATION">%1$s</xliff:g>-ს, რომელსაც თქვენი პირადი ქსელის აქტივობის მონიტორინგი შეუძლია, მათ შორის, ელფოსტის, აპებისა და ვებსაიტების."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"თქვენი სამუშაო პროფილი <xliff:g id="ORGANIZATION">%1$s</xliff:g>-ის მიერ იმართება. ის დაკავშირებულია <xliff:g id="APPLICATION">%2$s</xliff:g>-თან, რომელსაც შეუძლია თქვენი სამსახურის ქსელის აქტივობის, მათ შორის, ელფოსტის, აპებისა და ვებსაიტების მონიტორინგი.\n\nდამატებითი ინფორმაციისთვის მიმართეთ თქვენს ადმინისტრატორს."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"თქვენი სამუშაო პროფილი <xliff:g id="ORGANIZATION">%1$s</xliff:g>-ის მიერ იმართება. ის დაკავშირებულია <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>-თან, რომელსაც შეუძლია თქვენი სამსახურის ქსელის აქტივობის, მათ შორის, ელფოსტის, აპებისა და ვებსაიტების მონიტორინგი.\n\nასევე, დაკავშირებული ხართ <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>-თან, რომელსაც შეუძლია თქვენი პირადი ქსელის აქტივობის მონიტორინგი."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"თქვენს მოწყობილობას მართავს <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nადმინისტრატორს შეუძლია თქვენი მოწყობილობასთან ასოცირებული პარამეტრების, კორპორატიული წვდომის, აპებისა და მონაცემების, და ასევე მოწყობილობის მდებარეობის ინფორმაციის მონიტორინგი და მართვა.\n\nთქვენ დაკავშირებული ხართ <xliff:g id="APPLICATION">%2$s</xliff:g>-თან, რომელსაც შეუძლია თქვენი ქსელის აქტივობის, მათ შორის, ელფოსტის, აპებისა და ვებ-საიტების მონიტორინგი.\n\nდამატებითი ინფორმაციისათვის, დაუკავშირდით თქვენს ადმინისტრატორს."</string>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml
index aa8c71f..f4f525a 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Құрылғы бақылануы мүмкін"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Профиль бақылануы мүмкін"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Желі бақылауда болуы мүмкін"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Желі бақылауда болуы мүмкін"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Құрылғыны бақылау"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Профильді бақылау"</string>
<string name="monitoring_title" msgid="169206259253048106">"Желіні бақылау"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Сіз желідегі белсенділігіңізді, соның ішінде электрондық пошталарды, қолданбаларды және веб-сайттарды бақылай алатын <xliff:g id="APPLICATION">%1$s</xliff:g> қолданбасына қосылғансыз."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Сіз жеке желідегі белсенділігіңізді, соның ішінде электрондық пошталарды, қолданбаларды және веб-сайттарды бақылай алатын <xliff:g id="APPLICATION">%1$s</xliff:g> қолданбасына қосылғансыз."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Жеке желідегі әрекеттеріңізді, соның ішінде электрондық пошта хабарларын, қолданбаларды және вебсайттарды бақылай алатын <xliff:g id="APPLICATION">%1$s</xliff:g> қолданбасына қосылғансыз."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Жұмыс профиліңізді <xliff:g id="ORGANIZATION">%1$s</xliff:g> басқарады. Ол жұмыс кезінде желідегі белсенділігіңізді, соның ішінде электрондық пошталарды, қолданбаларды және веб-сайттарды бақылай алатын <xliff:g id="APPLICATION">%2$s</xliff:g> қолданбасына қосылған.\n\nҚосымша ақпарат алу үшін әкімшіге хабарласыңыз."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Жұмыс профиліңізді <xliff:g id="ORGANIZATION">%1$s</xliff:g> басқарады. Ол желідегі белсенділігіңізді, соның ішінде электрондық пошталарды, қолданбаларды және веб-сайттарды бақылай алатын <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> қолданбасына қосылған.\n\nСондай-ақ сіз желідегі жеке белсенділігіңізді бақылай алатын <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> қолданбасына қосылғансыз."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Құрылғыңызды <xliff:g id="ORGANIZATION">%1$s</xliff:g> басқарады.\n\nӘкімші параметрлерді, корпоративтік рұқсатты, қолданбаларды, құрылғыңызбен байланысты деректерді және құрылғының орны туралы ақпаратты бақылай және басқара алады.\n\nСіз желідегі белсенділігіңізді, соның ішінде электрондық пошталарды, қолданбаларды және евб-сайттарды бақылай алатын <xliff:g id="APPLICATION">%2$s</xliff:g> қолданбасына қосылғансыз.\n\nҚосымша ақпарат алу үшін әкімшіге хабарласыңыз."</string>
diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml
index 7fb9e9d..0e58b12 100644
--- a/packages/SystemUI/res/values-km-rKH/strings.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ឧបករណ៍អាចត្រូវបានត្រួតពិនិត្យ"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"ប្រវត្តិរូបអាចត្រូវបានតាមដាន"</string>
<string name="vpn_footer" msgid="2388611096129106812">"បណ្ដាញអាចត្រូវបានត្រួតពិនិត្យ"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"បណ្ដាញអាចត្រូវបានត្រួតពិនិត្យ"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"ការត្រួតពិនិត្យឧបករណ៍"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"តាមដានប្រវត្ថិរូប"</string>
<string name="monitoring_title" msgid="169206259253048106">"ការត្រួតពិនិត្យបណ្ដាញ"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"អ្នកត្រូវបានតភ្ជាប់ទៅ <xliff:g id="APPLICATION">%1$s</xliff:g> ដែលអាចឃ្លាំមើលសកម្មភាពបណ្តាញរបស់អ្នក រាប់បញ្ចូលទាំងអ៊ីមែល កម្មវិធី និងគេហទំព័រ។"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"អ្នកត្រូវបានតភ្ជាប់ទៅ <xliff:g id="APPLICATION">%1$s</xliff:g> ដែលអាចឃ្លាំមើលសកម្មភាពបណ្តាញរបស់អ្នក រាប់បញ្ចូលទាំងអ៊ីមែល កម្មវិធី និងគេហទំព័រ។"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"អ្នកត្រូវបានភ្ជាប់ទៅ <xliff:g id="APPLICATION">%1$s</xliff:g> ដែលអាចឃ្លាំមើលសកម្មភាពបណ្តាញរបស់អ្នក រាប់បញ្ចូលទាំងអ៊ីមែល កម្មវិធី និងគេហទំព័រ។"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"ប្រវត្តិរូបការងាររបស់អ្នកត្រូវបានគ្រប់គ្រងដោយ <xliff:g id="ORGANIZATION">%1$s</xliff:g>។ វាត្រូវបានតភ្ជាប់ទៅនឹង <xliff:g id="APPLICATION">%2$s</xliff:g> ដែលអាចឃ្លាំមើលសកម្មភាពបណ្តាញរបស់អ្នក រាប់បញ្ចូលទាំងអ៊ីមែល កម្មវិធី គេហទំព័រ។\n\nសម្រាប់ព័ត៌មានបន្ថែម សូមទាក់ទងអ្នកគ្រប់គ្រប់របស់អ្នក។"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"ប្រវត្តិរូបការងាររបស់អ្នកត្រូវបានគ្រប់គ្រងដោយ <xliff:g id="ORGANIZATION">%1$s</xliff:g>។ វាត្រូវបានតភ្ជាប់ទៅនឹង <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> ដែលអាចឃ្លាំមើលសកម្មភាពបណ្តាញរបស់អ្នក រាប់បញ្ចូលទាំងអ៊ីមែល កម្មវិធី គេហទំព័រ។\n\nអ្នកក៏ត្រូវបានតភ្ជាប់ផងដែរទៅនឹង <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> ដែលអាចឃ្លាំមើលសកម្មភាពបណ្តាញផ្ទាល់ខ្លួនរបស់អ្នក។"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"ឧបករណ៍របស់អ្នកត្រូវបានគ្រប់គ្រងដោយ <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nអ្នកគ្រប់គ្រងរបស់អ្នកអាចឃ្លាំមើល និងគ្រប់គ្រងការកំណត់ ការចូលប្រើជាក្រុម កម្មវិធី ទិន្នន័យដែលជាប់ទាក់ទងនឹងឧបករណ៍របស់អ្នក និងព័ត៌មានទីតាំងនៃឧបករណ៍របស់អ្នក។\n\nអ្នកត្រូវបានភ្ជាប់ជាមួយ <xliff:g id="APPLICATION">%2$s</xliff:g> ដែលវាអាចឃ្លាំមើលសកម្មភាពបណ្តាញរបស់អ្នក រួមបញ្ចូលទាំងអ៊ីមែល កម្មវិធី និងគេហទំព័រ។\n\nសម្រាប់ព័ត៌មានបន្ថែម សូមទាក់ទងអ្នកគ្រប់គ្រងរបស់អ្នក។"</string>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml
index adc2e14..ea29900 100644
--- a/packages/SystemUI/res/values-kn-rIN/strings.xml
+++ b/packages/SystemUI/res/values-kn-rIN/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ಸಾಧನವನ್ನು ಪರಿವೀಕ್ಷಿಸಬಹುದಾಗಿದೆ"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"ಪ್ರೊಫೈಲ್ ಅನ್ನು ಪರಿವೀಕ್ಷಿಸಬಹುದಾಗಿದೆ"</string>
<string name="vpn_footer" msgid="2388611096129106812">"ನೆಟ್ವರ್ಕ್ ಅನ್ನು ವೀಕ್ಷಿಸಬಹುದಾಗಿ"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"ನೆಟ್ವರ್ಕ್ ಅನ್ನು ವೀಕ್ಷಿಸಬಹುದಾಗಿರುತ್ತದೆ"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"ಸಾಧನ ಪರಿವೀಕ್ಷಣೆ"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"ಪ್ರೊಫೈಲ್ ಮೇಲ್ವಿಚಾರಣೆ"</string>
<string name="monitoring_title" msgid="169206259253048106">"ನೆಟ್ವರ್ಕ್ ಪರಿವೀಕ್ಷಣೆ"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"ನೀವು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದಾದ <xliff:g id="APPLICATION">%1$s</xliff:g> ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವಿರಿ."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"ನೀವು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ವೆಬ್ಸೈಟ್ಗಳು ಸೇರಿದಂತೆ ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದಾದ <xliff:g id="APPLICATION">%1$s</xliff:g> ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವಿರಿ."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"ನೀವು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಮತ್ತು ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದಾದ <xliff:g id="APPLICATION">%1$s</xliff:g> ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವಿರಿ."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಅನ್ನು <xliff:g id="ORGANIZATION">%1$s</xliff:g> ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗುತ್ತಿದೆ. ಇದು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಮತ್ತು ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ಕೆಲಸದ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದಾದ <xliff:g id="APPLICATION">%2$s</xliff:g> ಗೆ ಸಂಪರ್ಕಗೊಂಡಿದೆ.\n\nಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಅನ್ನು <xliff:g id="ORGANIZATION">%1$s</xliff:g> ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗುತ್ತಿದೆ. ಇದು ಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಮತ್ತು ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ಕೆಲಸದ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದಾದ <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> ಗೆ ಸಂಪರ್ಕಿತಗೊಂಡಿದೆ.\n\nನೀವು ಕೂಡಾ ವೈಯಕ್ತಿಕ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದಾದ <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> ಗೆ ಸಂಪರ್ಕಿತಗೊಂಡಿರುವಿರಿ."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"ನಿಮ್ಮ ಸಾಧನವನ್ನು <xliff:g id="ORGANIZATION">%1$s</xliff:g> ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗುತ್ತಿದೆ.\n\nನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಸೆಟ್ಟಿಂಗ್ಗಳು, ಕಾರ್ಪೊರೇಟ್ ಪ್ರವೇಶ, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಹಾಗೂ ನಿಮ್ಮ ಸಾಧನದೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ಡೇಟಾ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳ ಮಾಹಿತಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದು.\n\nಇಮೇಲ್ಗಳು, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಿಮ್ಮ ನೆಟ್ವರ್ಕ್ ಚಟುವಟಿಕೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದಾದ <xliff:g id="APPLICATION">%2$s</xliff:g> ಗೆ ಸಂಪರ್ಕಿತಗೊಂಡಿರುವಿರಿ.\n\nಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index fc439e3..04e1132 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"기기가 모니터링될 수 있음"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"프로필이 모니터링될 수 있음"</string>
<string name="vpn_footer" msgid="2388611096129106812">"네트워크가 모니터링될 수 있음"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"네트워크가 모니터링될 수 있음"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"기기 모니터링"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"프로필 모니터링"</string>
<string name="monitoring_title" msgid="169206259253048106">"네트워크 모니터링"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"<xliff:g id="APPLICATION">%1$s</xliff:g>에 연결되었습니다. 이 앱은 이메일, 앱, 웹사이트와 같은 내 네트워크 활동을 모니터링할 수 있습니다."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"<xliff:g id="APPLICATION">%1$s</xliff:g>에 연결되었습니다. 이 앱은 이메일, 앱, 웹사이트와 같은 내 네트워크 활동을 모니터링할 수 있습니다."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"<xliff:g id="APPLICATION">%1$s</xliff:g>에 연결되었습니다. 이 앱은 이메일, 앱, 웹사이트와 같은 내 개인 네트워크 활동을 모니터링할 수 있습니다."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"직장 프로필은 <xliff:g id="ORGANIZATION">%1$s</xliff:g>에서 관리합니다. 이는 <xliff:g id="APPLICATION">%2$s</xliff:g>에 연결되어 있으며 여기에서 이메일, 앱, 웹사이트와 같은 직장 네트워크 활동을 모니터링할 수 있습니다.\n\n자세한 내용은 관리자에게 문의하세요."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"직장 프로필은 <xliff:g id="ORGANIZATION">%1$s</xliff:g>에서 관리합니다. 이는 <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>에 연결되어 있으며 여기에서 이메일, 앱, 웹사이트와 같은 직장 네트워크 활동을 모니터링할 수 있습니다.\n\n또한 <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>에 연결되어 있으며, 여기에서 내 개인 네트워크 활동을 모니터링할 수 있습니다."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"<xliff:g id="ORGANIZATION">%1$s</xliff:g>에서 기기를 관리합니다.\n\n관리자는 설정, 기업 액세스, 앱, 기기와 연결된 데이터, 기기의 위치 정보를 모니터링하고 관리할 수 있습니다.\n\n<xliff:g id="APPLICATION">%2$s</xliff:g>에 연결되어 있으며 여기에서 이메일, 앱, 웹사이트와 같은 내 네트워크 활동을 모니터링할 수 있습니다.\n\n자세한 내용은 관리자에게 문의하세요."</string>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml
index 3165a4b..3f66b87 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Түзмөктү көзөмөлдөсө болот"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Профилди көзөмөлдөсө болот"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Тармак көзөмөлдөнүшү мүмкүн"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Тармак тинтилиши мүмкүн"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Түзмөккө көз салуу"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Профилди көзөмөлдөө"</string>
<string name="monitoring_title" msgid="169206259253048106">"Тармакка көз салуу"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Электрондук почта, колдонмолор жана вебсайттар сыяктуу тармактык аракеттерди көзөмөлдөй турган <xliff:g id="APPLICATION">%1$s</xliff:g> колдонмосуна туташып турасыз."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Электрондук почта, колдонмолор жана вебсайттар сыяктуу тармактагы жеке аракеттериңизди көзөмөлдөй турган <xliff:g id="APPLICATION">%1$s</xliff:g> колдонмосуна туташып турасыз."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Электрондук почта, колдонмолор жана вебсайттар сыяктуу тармактагы жеке аракеттериңизди тескей турган <xliff:g id="APPLICATION">%1$s</xliff:g> колдонмосуна туташып турасыз."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Жумуш профилиңизди <xliff:g id="ORGANIZATION">%1$s</xliff:g> башкарат. Ал электрондук почта, колдонмолор жана вебсайттар сыяктуу жумуш тармагыңыздагы аракеттерди көзөмөлдөй турган <xliff:g id="APPLICATION">%2$s</xliff:g> менен туташкан.\n\nКөбүрөөк маалымат алуу үчүн администраторуңузга кайрылыңыз."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Жумуш профилиңизди <xliff:g id="ORGANIZATION">%1$s</xliff:g> башкарат. Ал электрондук почта, колдонмолор жана вебсайттар сыяктуу жумуш тармагыңыздагы аракеттерди көзөмөлдөй турган <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> менен туташкан.\n\nМындан тышкары, тармактагы жеке аракеттериңизди көзөмөлдөгөн <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> колдонмосуна туташып турасыз."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Түзмөгүңүздү <xliff:g id="ORGANIZATION">%1$s</xliff:g> башкарат.\nАдминистраторуңуз түзмөгүңүздөгү жөндөөлөрдү, корпоративдик мүмкүнчүлүктү, колдонмолорду, дайындарды, ошону менен катар жайгашкан жер дайындарын башкарып, тийиштүү маалыматты карай алат.\n\nСиз электрондук почталар, колдонмолор жана вебсайттар сыяктуу тармактагы аракеттериңизди тармактагы аракетиңизди тескей турган APPLICATION колдонмосуна туташып турасыз.\n<xliff:g id="APPLICATION">%2$s</xliff:g>Көбүрөөк маалымат алуу үчүн, администраторуңузга кайрылыңыз.\n\n"</string>
diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml
index 9ecc842..54855af 100644
--- a/packages/SystemUI/res/values-lo-rLA/strings.xml
+++ b/packages/SystemUI/res/values-lo-rLA/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ອຸປະກອນອາດມີການເຝົ້າຕິດຕາມ"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"ໂປຣໄຟລ໌ອາດຖືກເຝົ້າຕິດຕາມຢູ່"</string>
<string name="vpn_footer" msgid="2388611096129106812">"ເຄືອຂ່າຍອາດມີການເຝົ້າຕິດຕາມ"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"ການນຳໃຊ້ເຄືອຂ່າຍອາດມີການກວດສອບຕິດຕາມ"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"ການກວດສອບຕິດຕາມອຸປະກອນ"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"ການຕິດຕາມໂປຣໄຟລ໌"</string>
<string name="monitoring_title" msgid="169206259253048106">"ການກວດສອບຕິດຕາມເຄືອຂ່າຍ"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"ທ່ານເຊື່ອມຕໍ່ກັບ <xliff:g id="APPLICATION">%1$s</xliff:g>, ເຊິ່ງສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານ ລວມທັງອີເມວ, ແອັບ ແລະເວັບໄຊທ໌."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"ທ່ານເຊື່ອມຕໍ່ກັບ <xliff:g id="APPLICATION">%1$s</xliff:g>, ເຊິ່ງສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍສ່ວນຕົວຂອງທ່ານ ລວມທັງອີເມວ, ແອັບ ແລະເວັບໄຊທ໌."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"ທ່ານເຊື່ອມຕໍ່ກັບ <xliff:g id="APPLICATION">%1$s</xliff:g> ແລ້ວ, ເຊິ່ງສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍສ່ວນຕົວຂອງທ່ານ ຮວມທັງອີເມວ, ແອັບ ແລະເວັບໄຊໄດ້."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານຖືກຄວບຄຸມໂດຍ <xliff:g id="ORGANIZATION">%1$s</xliff:g>. ມັນຖືກເຊື່ອມຕໍ່ກັບ <xliff:g id="APPLICATION">%2$s</xliff:g>, ເຊິ່ງສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍບ່ອນເຮັດວຽກຂອງທ່ານ ລວມທັງອີເມວ, ແອັບ ແລະເວັບໄຊທ໌.\n\nສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ້ບໍລິຫານຂອງທ່ານ."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານຖືກຈັດການໂດຍ <xliff:g id="ORGANIZATION">%1$s</xliff:g>. ມັນເຊື່ອມຕໍ່ກັບ <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, ເຊິ່ງສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍບ່ອນເຮັດວຽກຂອງທ່ານ ລວມທັງອີເມວ, ແອັບ ແລະເວັບໄຊທ໌.\n\nທ່ານເຊື່ອມຕໍ່ກັບ <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, ເຊິ່ງສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍສ່ວນຕົວຂອງທ່ານ."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"ອຸປະກອນຂອງທ່ານຖືກຄຸ້ມຄອງໂດຍ <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nຜູ້ຄວບຄຸມຂອງທ່ານສາມາດຕິດຕາມກວດກາ ແລະການຄຸ້ມຄອງການຕັ້ງຄ່າ, ແອັບການເຂົ້າຫາບໍລິສັດ, ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງກັບອຸປະກອນຂອງທ່ານ, ແລະຂໍ້ມູນທີ່ຕັ້ງຂອງອຸປະກອນຂອງທ່ານ.\n\nທ່ານເຊື່ອມຕໍ່ກັບ <xliff:g id="APPLICATION">%2$s</xliff:g> ແລ້ວ, ເຊິ່ງສາມາດຕິດຕາມການເຄື່ອນໄຫວເຄືອຂ່າຍຂອງທ່ານ, ລວມທັງອີເມວ, ແອັບ, ແລະເວັບໄຊທ໌.\n\nສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ຕິດຕໍ່ຜູ້ຄວບຄຸມຂອງທ່ານ."</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 2d3359d..a76a6c5 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -408,6 +408,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Įrenginys gali būti stebimas"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profilis gali būti stebimas"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Tinklas gali būti stebimas"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Tinklas gali būti stebimas"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Įrenginio stebėjimas"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profilio stebėjimas"</string>
<string name="monitoring_title" msgid="169206259253048106">"Tinklo stebėjimas"</string>
@@ -420,6 +421,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Esate prisijungę prie programos „<xliff:g id="APPLICATION">%1$s</xliff:g>“, kuri gali stebėti tinklo veiklą, įskaitant el. laiškus, programas ir svetaines."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Esate prisijungę prie programos „<xliff:g id="APPLICATION">%1$s</xliff:g>“, kuri gali stebėti asmeninio profilio tinklo veiklą, įskaitant el. laiškus, programas ir svetaines."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Esate prisijungę prie programos „<xliff:g id="APPLICATION">%1$s</xliff:g>“, kuri gali stebėti asmeninio tinklo veiklą, įskaitant el. laiškus, programas ir svetaines."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Darbo profilį tvarko „<xliff:g id="ORGANIZATION">%1$s</xliff:g>“. Jis susietas su programa „<xliff:g id="APPLICATION">%2$s</xliff:g>“, kuri gali stebėti darbo profilio tinklo veiklą, įskaitant el. laiškus, programas ir svetaines.\n\nDaugiau informacijos galite gauti susisiekę su administratoriumi."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Darbo profilį tvarko „<xliff:g id="ORGANIZATION">%1$s</xliff:g>“. Jis susietas su programa „<xliff:g id="APPLICATION_WORK">%2$s</xliff:g>“, kuri gali stebėti darbo profilio tinklo veiklą, įskaitant el. laiškus, programas ir svetaines.\n\nTaip pat esate prisijungę prie programos „<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>“, kuri gali stebėti asmeninio profilio tinklo veiklą."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Jūsų įrenginį tvarko „<xliff:g id="ORGANIZATION">%1$s</xliff:g>“.\n\nAdministratorius gali stebėti ir tvarkyti nustatymus, įmonės informacijos pasiekiamumo nustatymus, programas, su įrenginiu susietus duomenis ir įrenginio vietovės informaciją.\n\nEsate prisijungę prie programos „<xliff:g id="APPLICATION">%2$s</xliff:g>“, kuri gali stebėti tinklo veiklą, įskaitant el. laiškus, programas ir svetaines.\n\nDaugiau informacijos galite gauti susisiekę su administratoriumi."</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index f9014bc..6f430b7 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Ierīci var pārraudzīt"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profilu var pārraudzīt"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Iespējams, tīklā veiktās darbības tiek pārraudzītas."</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Var tikt pārraudzītas tīklā veiktās darbības."</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Ierīces pārraudzība"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profila pārraudzība"</string>
<string name="monitoring_title" msgid="169206259253048106">"Tīkla pārraudzība"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Ir izveidots savienojums ar lietotni <xliff:g id="APPLICATION">%1$s</xliff:g>, kura var pārraudzīt jūsu tīklā veiktās darbības, tostarp e-pasta ziņojumus, lietotnes un vietnes."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Ir izveidots savienojums ar lietotni <xliff:g id="APPLICATION">%1$s</xliff:g>, kura var pārraudzīt jūsu tīklā veiktās privātās darbības, tostarp e-pasta ziņojumus, lietotnes un vietnes."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Ir izveidots savienojums ar lietotni <xliff:g id="APPLICATION">%1$s</xliff:g>, kas var pārraudzīt jūsu tīklā veiktās privātās darbības, tostarp e-pasta ziņojumus, lietotnes un vietnes."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Jūsu darba profilu pārvalda <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Tas ir saistīts ar lietojumprogrammu <xliff:g id="APPLICATION">%2$s</xliff:g>, kura var pārraudzīt jūsu tīklā veiktās darbības, tostarp e-pasta ziņojumus, lietotnes un vietnes.\n\nLai iegūtu plašāku informāciju, sazinieties ar administratoru."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Jūsu darba profilu pārvalda <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Tas ir saistīts ar lietojumprogrammu <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, kura var pārraudzīt jūsu tīklā veiktās darbības, tostarp e-pasta ziņojumus, lietotnes un vietnes.\n\nIr piesaistīta arī lietojumprogramma <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, kas var pārraudzīt jūsu tīklā veiktās privātās darbības."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Jūsu ierīci pārvalda <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nJūsu administrators var pārraudzīt un pārvaldīt iestatījumus, korporatīvo piekļuvi, lietotnes un datus, kas ir saistīti ar šo ierīci, kā arī informāciju par jūsu ierīces atrašanās vietu.\n\nIr piesaistīta lietojumprogramma <xliff:g id="APPLICATION">%2$s</xliff:g>, kas var pārraudzīt jūsu tīklā veiktās darbības, tostarp e-pasta ziņojumus, lietotnes un vietnes.\n\nLai iegūtu plašāku informāciju, sazinieties ar administratoru."</string>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml
index eb509e8..68a8fc1 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Уредот може да се следи"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Профилот можеби се следи"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Мрежата може да се следи"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Мрежата може да се следи"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Следење на уредот"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Следење профил"</string>
<string name="monitoring_title" msgid="169206259253048106">"Следење на мрежата"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"ВПН"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Поврзани сте на <xliff:g id="APPLICATION">%1$s</xliff:g>, којашто може да ја следи вашата активност на мрежата, вклучувајќи ги е-пораките, апликациите и веб-локациите."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Поврзани сте на <xliff:g id="APPLICATION">%1$s</xliff:g>, којашто може да ја следи вашата лична активност на мрежата, вклучувајќи ги е-пораките, апликациите и веб-локациите."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Поврзани сте на <xliff:g id="APPLICATION">%1$s</xliff:g>, којашто може да ја следи вашата лична активност на мрежата, вклучувајќи ги е-пораките, апликациите и веб-локациите."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> управува со вашиот работен профил. Истиот е поврзан на <xliff:g id="APPLICATION">%2$s</xliff:g>, којашто може да ја следи вашата работна активност на мрежата, вклучувајќи ги е-пораките, апликациите и веб-локациите.\n\nЗа повеќе информации, контактирајте со администраторот."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> управува со вашиот работен профил. Истиот е поврзан на <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, којашто може да ја следи вашата работна активност на мрежата, вклучувајќи ги е-пораките, апликациите и веб-локациите.\n\nВие исто така сте поврзани на <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, којашто може да ја следи вашата лична активност на мрежата."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> управува со вашиот уред.\n\nВашиот администратор може да ги следи и да управува со параметрите, корпоративниот пристап, апликациите, податоците поврзани со уредот и информациите за локацијата на уредот.\n\nПоврзани сте на <xliff:g id="APPLICATION">%2$s</xliff:g>, којашто може да ја следи вашата активност на мрежата, вклучувајќи ги е-пораките, апликациите и веб-локациите.\n\nЗа повеќе информации, контактирајте со администраторот."</string>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml
index fbe8a72..ecb664e 100644
--- a/packages/SystemUI/res/values-ml-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ml-rIN/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ഉപകരണം നിരീക്ഷിക്കപ്പെടാം"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"പ്രൊഫൈൽ നിരീക്ഷിക്കപ്പെടാം"</string>
<string name="vpn_footer" msgid="2388611096129106812">"നെറ്റ്വർക്ക് നിരീക്ഷിക്കപ്പെടാം"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"നെറ്റ്വർക്ക് നിരീക്ഷിക്കപ്പെടാം"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"ഉപകരണം നിരീക്ഷിക്കൽ"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"പ്രൊഫൈൽ നിരീക്ഷിക്കൽ"</string>
<string name="monitoring_title" msgid="169206259253048106">"നെറ്റ്വർക്ക് നിരീക്ഷിക്കൽ"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"നിങ്ങൾ <xliff:g id="APPLICATION">%1$s</xliff:g> എന്നതിലേക്ക് കണക്റ്റുചെയ്തിരിക്കുന്നു, അതിന് ഇമെയിലുകൾ, ആപ്സ്, വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നിങ്ങളുടെ നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാനാകും."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"നിങ്ങൾ <xliff:g id="APPLICATION">%1$s</xliff:g> എന്നതിലേക്ക് കണക്റ്റുചെയ്തിരിക്കുന്നു, അതിന് ഇമെയിലുകൾ, ആപ്സ്, വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നിങ്ങളുടെ സ്വകാര്യ നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാനാകും."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"നിങ്ങൾ <xliff:g id="APPLICATION">%1$s</xliff:g> ആപ്പിലേക്ക് കണക്റ്റുചെയ്തിരിക്കുന്നു, ഇമെയിലുകൾ, ആപ്സ്, വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നെറ്റ്വർക്ക് ആക്റ്റിവിറ്റി നിരീക്ഷിക്കാൻ ഈ ആപ്പിന് കഴിയും."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത് <xliff:g id="ORGANIZATION">%1$s</xliff:g> ആണ്. നിങ്ങൾ <xliff:g id="APPLICATION">%2$s</xliff:g> എന്നതിലേക്ക് കണക്റ്റുചെയ്തിരിക്കുന്നു, അതിന് ഇമെയിലുകൾ, ആപ്സ്, വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നിങ്ങളുടെ ഔദ്യോഗിക നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാനാകും.\n\nകൂടുതൽ വിവരങ്ങൾക്ക്, നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത് <xliff:g id="ORGANIZATION">%1$s</xliff:g> ആണ്. നിങ്ങൾ <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> എന്നതിലേക്ക് കണക്റ്റുചെയ്തിരിക്കുന്നു, അതിന് ഇമെയിലുകൾ, ആപ്സ്, വെബ്സൈറ്റുകൾ എന്നിവ ഉൾപ്പെടെ നിങ്ങളുടെ ഔദ്യോഗിക നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാനാകും.\n\nനിങ്ങൾ <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> എന്നതിലേക്കും കണക്റ്റുചെയ്തിരിക്കുന്നു, അതിന് നിങ്ങളുടെ സ്വകാര്യ നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാനാകും."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"നിങ്ങളുടെ ഉപകരണം നിയന്ത്രിക്കുന്നത് <xliff:g id="ORGANIZATION">%1$s</xliff:g> ആണ്.\n\nനിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്റർക്ക്, ഉപകരണവുമായി ബന്ധപ്പെട്ട ക്രമീകരണവും കോർപ്പറേറ്റ് ആക്സസ്സും അപ്ലിക്കേഷനുകളും വിവരവും ഒപ്പം ഉപകരണത്തിന്റെ ലൊക്കേഷൻ വിവരവും നിരീക്ഷിച്ച് നിയന്ത്രിക്കാനാകും.\n\nഇമെയിലുകളും അപ്ലിക്കേഷനുകളും വെബ്സൈറ്റുകളും ഉൾപ്പെടെയുള്ള നെറ്റ്വർക്ക് പ്രവർത്തനം നിരീക്ഷിക്കാനാകുന്ന ഒരു <xliff:g id="APPLICATION">%2$s</xliff:g> എന്നതിലേക്കും നിങ്ങൾ കണക്റ്റുചെയ്തിരിക്കുന്നു.\n\nകൂടുതൽ വിവരങ്ങൾക്ക്, അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക."</string>
diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml
index 0ba98f1..f55d6ed 100644
--- a/packages/SystemUI/res/values-mn-rMN/strings.xml
+++ b/packages/SystemUI/res/values-mn-rMN/strings.xml
@@ -402,6 +402,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Төхөөрөмжийг хянах боломжтой"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Профайлыг хянаж байж болзошгүй"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Сүлжээ хянагдаж байж болзошгүй"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Сүлжээг хянаж байж болзошгүй"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Төхөөрөмжийн хяналт"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Профайл хяналт"</string>
<string name="monitoring_title" msgid="169206259253048106">"Сүлжээний хяналт"</string>
@@ -414,6 +415,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Та <xliff:g id="APPLICATION">%1$s</xliff:g>-д холбогдсон бөгөөд энэ нь таны имэйл, апп, вебсайт зэрэг сүлжээний үйл ажиллагааг хянах боломжтой."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Та <xliff:g id="APPLICATION">%1$s</xliff:g>-д холбогдсон бөгөөд энэ нь таны имэйл, апп, вебсайт зэрэг сүлжээний хувийн үйл ажиллагааг хянах боломжтой."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Та имэйл, апп, вэб хуудас зэрэг хувийн сүлжээнийхээ үйл ажиллагааг хянах боломжтой <xliff:g id="APPLICATION">%1$s</xliff:g>-д холбогдсон байна."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Таны ажлын профайлыг <xliff:g id="ORGANIZATION">%1$s</xliff:g> удирддаг. Энэ нь <xliff:g id="APPLICATION">%2$s</xliff:g>-тэй холбогдсон бөгөөд таны имэйл, апп, вебсайт зэрэг сүлжээний үйл ажиллагааг хянах боломжтой.\n\nДэлгэрэнгүй мэдээлэл авахыг хүсвэл админтайгаа холбогдоно уу."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Таны ажлын профайлыг <xliff:g id="ORGANIZATION">%1$s</xliff:g> удирддаг. Энэ нь <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>-тай холбогдсон бөгөөд таны имэйл, апп, вебсайт зэрэг ажлын сүлжээний үйл ажиллагааг хянах боломжтой.\n\nМөн та <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>-д холбогдсон бөгөөд энэ нь таны сүлжээний хувийн үйл ажиллагааг хянаж чадна."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Таны төхөөрөмжийг <xliff:g id="ORGANIZATION">%1$s</xliff:g> удирддаг.\n\n Танай админ төхөөрөмж, төхөөрөмжийн байршилтай холбоотой өгөгдлийг холбох, тохиргоог өөрчлөх болон хяналт тавих боломжтой.\n\nТа <xliff:g id="APPLICATION">%2$s</xliff:g>-тай холбогдсон бөгөөд ингэснээр таны имэйл,апп, аюулгүй вебсайт зэрэг сүлжээний үйл ажиллагаагаа хянах боломжтой.\n\n Дэлгэрэнгүй мэдээлэл авахыг хүсвэл админтайгаа холбогдоно уу."</string>
@@ -503,14 +505,14 @@
<string name="tuner_full_importance_settings" msgid="3207312268609236827">"Тэжээлийн мэдэгдлийн удирдлага"</string>
<string name="tuner_full_importance_settings_on" msgid="7545060756610299966">"Идэвхтэй"</string>
<string name="tuner_full_importance_settings_off" msgid="8208165412614935229">"Идэвхгүй"</string>
- <string name="power_notification_controls_description" msgid="4372459941671353358">"Тэжээлийн мэдэгдлийн удирдлагын тусламжтайгаар та апп-н мэдэгдэлд 0-5 хүртэлх ач холбогдлын төвшин тогтоох боломжтой. \n\n"<b>"5-р төвшин"</b>" \n- Мэдэгдлийн жагсаалтын хамгийн дээр харуулна \n- Бүтэн дэлгэцэд саад болно \n- Дэлгэцэд тогтмол гарч ирнэ \n\n"<b>"4-р төвшин"</b>" \n- Бүтэн дэлгэцэд саад болохоос сэргийлнэ \n- Дэлгэцэд тогтмол гарч ирнэ \n\n"<b>"3-р төвшин"</b>" \n- Бүтэн дэлгэцэд саад болохоос сэргийлнэ \n- Дэлгэцэд хэзээ ч гарч ирэхгүй \n\n"<b>"2-р төвшин"</b>" \n- Бүтэн дэлгэцэд саад болохоос сэргийлнэ \n- Дэлгэцэд хэзээ ч гарч ирэхгүй \n- Дуу болон чичиргээ хэзээ ч гаргахгүй \n\n"<b>"1-р төвшин"</b>" \n- Бүтэн дэлгэцэд саад болохоос сэргийлнэ \n- Дэлгэцэд хэзээ ч гарч ирэхгүй \n- Дуу болон чичиргээ хэзээ ч гаргахгүй \n- Түгжигдсэн дэлгэц болон статусын самбараас нууна \n- Мэдэгдлийн жагсаалтын доор харуулна \n\n"<b>"0-р төвшин"</b>" \n- Энэ апп-н бүх мэдэгдлийг блоклоно"</string>
+ <string name="power_notification_controls_description" msgid="4372459941671353358">"Тэжээлийн мэдэгдлийн удирдлагын тусламжтайгаар та апп-н мэдэгдэлд 0-5 хүртэлх ач холбогдлын түвшин тогтоох боломжтой. \n\n"<b>"5-р түвшин"</b>" \n- Мэдэгдлийн жагсаалтын хамгийн дээр харуулна \n- Бүтэн дэлгэцэд саад болно \n- Дэлгэцэд тогтмол гарч ирнэ \n\n"<b>"4-р түвшин"</b>" \n- Бүтэн дэлгэцэд саад болохоос сэргийлнэ \n- Дэлгэцэд тогтмол гарч ирнэ \n\n"<b>"3-р түвшин"</b>" \n- Бүтэн дэлгэцэд саад болохоос сэргийлнэ \n- Дэлгэцэд хэзээ ч гарч ирэхгүй \n\n"<b>"2-р түвшин"</b>" \n- Бүтэн дэлгэцэд саад болохоос сэргийлнэ \n- Дэлгэцэд хэзээ ч гарч ирэхгүй \n- Дуу болон чичиргээ хэзээ ч гаргахгүй \n\n"<b>"1-р түвшин"</b>" \n- Бүтэн дэлгэцэд саад болохоос сэргийлнэ \n- Дэлгэцэд хэзээ ч гарч ирэхгүй \n- Дуу болон чичиргээ хэзээ ч гаргахгүй \n- Түгжигдсэн дэлгэц болон статусын самбараас нууна \n- Мэдэгдлийн жагсаалтын доор харуулна \n\n"<b>"0-р түвшин"</b>" \n- Энэ апп-н бүх мэдэгдлийг блоклоно"</string>
<string name="user_unspecified_importance" msgid="361613856933432117">"Ач холбогдол: Автомат"</string>
- <string name="blocked_importance" msgid="5035073235408414397">"Ач холбогдол: 0-р төвшин"</string>
- <string name="min_importance" msgid="560779348928574878">"Ач холбогдол: 1-р төвшин"</string>
- <string name="low_importance" msgid="7571498511534140">"Ач холбогдол: 2-р төвшин"</string>
- <string name="default_importance" msgid="7609889614553354702">"Ач холбогдол: 3-р төвшин"</string>
- <string name="high_importance" msgid="3441537905162782568">"Ач холбогдол: 4-р төвшин"</string>
- <string name="max_importance" msgid="4880179829869865275">"Ач холбогдол: 5-р төвшин"</string>
+ <string name="blocked_importance" msgid="5035073235408414397">"Ач холбогдол: 0-р түвшин"</string>
+ <string name="min_importance" msgid="560779348928574878">"Ач холбогдол: 1-р түвшин"</string>
+ <string name="low_importance" msgid="7571498511534140">"Ач холбогдол: 2-р түвшин"</string>
+ <string name="default_importance" msgid="7609889614553354702">"Ач холбогдол: 3-р түвшин"</string>
+ <string name="high_importance" msgid="3441537905162782568">"Ач холбогдол: 4-р түвшин"</string>
+ <string name="max_importance" msgid="4880179829869865275">"Ач холбогдол: 5-р түвшин"</string>
<string name="notification_importance_user_unspecified" msgid="2868359605125272874">"Апп нь мэдэгдэл бүрийн ач холбогдлыг тодорхойлдог."</string>
<string name="notification_importance_blocked" msgid="4237497046867398057">"Энэ апп-н мэдэгдлийг хэзээ ч бүү харуул."</string>
<string name="notification_importance_min" msgid="7844224511187027155">"Бүтэн дэлгэцэд саадгүй, гарч ирэхгүй, дуугүй, чичиргээгүй. Түгжигдсэн дэлгэц, статусын хэсгээс нуух."</string>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml
index 922b9f0..8cf182bf 100644
--- a/packages/SystemUI/res/values-mr-rIN/strings.xml
+++ b/packages/SystemUI/res/values-mr-rIN/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"डिव्हाइसचे परीक्षण केले जाऊ शकते"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"प्रोफाईलचे परीक्षण केले जाऊ शकते"</string>
<string name="vpn_footer" msgid="2388611096129106812">"नेटवर्कचे परीक्षण केले जाऊ शकते"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"नेटवर्कचे परीक्षण केले जाऊ शकते"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"डिव्हाइस परीक्षण"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"प्रोफाईल परीक्षण"</string>
<string name="monitoring_title" msgid="169206259253048106">"नेटवर्क परीक्षण"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"आपण <xliff:g id="APPLICATION">%1$s</xliff:g> शी कनेक्ट केले आहे, जो ईमेल, अॅप्स आणि वेबसाइटसह आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"आपण <xliff:g id="APPLICATION">%1$s</xliff:g> शी कनेक्ट केले आहे, जो ईमेल, अॅप्स आणि वेबसाइटसह आपल्या वैयक्तिक नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"आपण <xliff:g id="APPLICATION">%1$s</xliff:g> शी कनेक्ट केले आहे, जो ईमेल, अॅप्स आणि वेबसाइटसह आपल्या वैयक्तिक नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"आपले कार्य प्रोफाईल <xliff:g id="ORGANIZATION">%1$s</xliff:g> द्वारे व्यवस्थापित केले आहे. ते <xliff:g id="APPLICATION">%2$s</xliff:g> शी कनेक्ट केले आहे, जो ईमेल, अॅप्स आणि वेबसाइटसह आपल्या कार्य नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो.\n\nअधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"आपले कार्य प्रोफाईल <xliff:g id="ORGANIZATION">%1$s</xliff:g> द्वारे व्यवस्थापित केले आहे. ते <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> शी कनेक्ट केले आहे, जे ईमेल, अॅप्स आणि वेबसाइटसह आपल्या कार्य नेटवर्क क्रियाकलापाचे परीक्षण करू शकते.\n\nआपण <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> शी देखील कनेक्ट केले आहे, जे आपल्या वैयक्तिक नेटवर्क क्रियाकलापाचे परीक्षण करू शकते."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"आपले डिव्हाइस <xliff:g id="ORGANIZATION">%1$s</xliff:g> द्वारे व्यवस्थापित केले आहे.\n\nआपला प्रशासक आपल्या डिव्हाइसशी संबद्ध सेटिंग्ज, कॉर्पोरेट प्रवेश, अॅप्स, डेटा आणि आपल्या डिव्हाइसच्या स्थान माहितीचे परीक्षण करू शकतो आणि व्यवस्थापित करू शकतो.\n\nआपण <xliff:g id="APPLICATION">%2$s</xliff:g> शी कनेक्ट केले आहे, जो ईमेल, अॅप्स आणि वेबसाइटसह आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो.\n\nअधिक माहितीसाठी, आपल्या प्रशासकाशी संपर्क साधा."</string>
diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml
index 267177b..c4b9060 100644
--- a/packages/SystemUI/res/values-ms-rMY/strings.xml
+++ b/packages/SystemUI/res/values-ms-rMY/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Peranti mungkin dipantau"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil mungkin dipantau"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Rangkaian mungkin dipantau"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Rangkaian mungkin dipantau"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Pemantauan peranti"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Pemantauan profil"</string>
<string name="monitoring_title" msgid="169206259253048106">"Pemantauan rangkaian"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Anda disambungkan ke <xliff:g id="APPLICATION">%1$s</xliff:g>, yang boleh memantau aktiviti rangkaian anda, termasuk e-mel, apl dan tapak web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Anda disambungkan ke <xliff:g id="APPLICATION">%1$s</xliff:g>, yang boleh memantau aktiviti rangkaian peribadi anda, termasuk e-mel, apl dan tapak web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Anda disambungkan ke <xliff:g id="APPLICATION">%1$s</xliff:g>, yang boleh memantau aktiviti rangkaian peribadi anda, termasuk e-mel, apl dan tapak web."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Profil kerja anda diurus oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Profil ini disambungkan ke <xliff:g id="APPLICATION">%2$s</xliff:g>, yang boleh memantau aktiviti rangkaian kerja anda, termasuk e-mel, apl dan tapak web.\n\nUntuk mendapatkan maklumat lanjut, sila hubungi pentadbir anda."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Profil kerja anda diurus oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Profil disambungkan ke <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, yang boleh memantau aktiviti rangkaian kerja anda, termasuk e-mel, apl dan tapak web.\n\nAnda turut disambungkan ke <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, yang boleh memantau aktiviti rangkaian peribadi anda."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Peranti anda diurus oleh <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nPentadbir anda boleh memantau dan mengurus tetapan, akses korporat, apl, data yang dikaitkan dengan peranti anda serta maklumat lokasi peranti anda.\n\nAnda disambungkan ke <xliff:g id="APPLICATION">%2$s</xliff:g>, yang boleh memantau aktiviti rangkaian anda, termasuk e-mel, apl dan tapak web.\n\nUntuk mendapatkan maklumat lanjut, hubungi pentadbir anda."</string>
diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml
index 9ee404d..62b7ad6 100644
--- a/packages/SystemUI/res/values-my-rMM/strings.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ကိရိယာကို စောင့်ကြပ် နိုင်ပါသည်"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"ပရိုဖိုင်ကို စောင့်ကြပ်နိုင်သည်"</string>
<string name="vpn_footer" msgid="2388611096129106812">"ကွန်ရက်ကို ကို စောင့်ကြပ် နိုင်ပါသည်"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"ကွန်ရက်ကို စောင့်ကြည့်စစ်ဆေးမှု ရှိနိုင်ပါသည်"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"ကိရိယာကို စောင့်ကြပ်ခြင်း"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"ပရိုဖိုင် စောင့်ကြပ်မှု"</string>
<string name="monitoring_title" msgid="169206259253048106">"ကွန်ရက်ကို စောင့်ကြပ်ခြင်း"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"သင်သည် <xliff:g id="APPLICATION">%1$s</xliff:g> သို့ ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးများ၊ အက်ပ်များနှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လုပ်ဆောင်ချက်များကို စောင့်ကြည့်နိုင်သည်။"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"သင်သည် <xliff:g id="APPLICATION">%1$s</xliff:g> သို့ ချိတ်ဆက်ထားသည်။ ၎င်းသည် အီးမေးလ်များ၊ အက်ပ်များနှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်နိုင်သည်။"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"သင်သည် အီးမေးလ်၊ အက်ပ်နှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်ကိုယ်ရေးကိုယ်တာ ကွန်ရက်အသုံးပြုမှုကို စောင့်ကြည့်နိုင်သည့် <xliff:g id="APPLICATION">%1$s</xliff:g> သို့ ချိတ်ဆက်ထားပါသည်။"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"သင့်အလုပ်ပရိုဖိုင်ကို <xliff:g id="ORGANIZATION">%1$s</xliff:g> မှစီမံခန့်ခွဲသည်။ ၎င်းကို <xliff:g id="APPLICATION">%2$s</xliff:g> သို့ ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်များ၊ အက်ပ်များနှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်အလုပ်ကွန်ရက်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်နိုင်သည်။ \n\nအချက်အလက်များ ပိုမိုရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"သင့်အလုပ် ပရိုဖိုင်ကို <xliff:g id="ORGANIZATION">%1$s</xliff:g> မှစီမံခန့်ခွဲသည်။ ၎င်းကို <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> သို့ ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်များ၊ အက်ပ်များနှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်အလုပ်ကွန်ရက်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်နိုင်သည်။ \n\n သင်သည်<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> ကိုလည်း ချိတ်ဆက်ထားသည်၊ ၎င်းသည် သင့်ကိုယ်ပိုင်ကွန်ရက်လုပ်ဆောင်ချက်များကို စောင့်ကြည့်နိုင်သည်။"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"သင့်စက်ကိရိယာကို <xliff:g id="ORGANIZATION">%1$s</xliff:g> မှစီမံခန့်ခွဲပါသည်။ \n\n စီမံခန့်ခွဲသူသည် ကြိုတင်ပြင်ဆင်မှုများ၊ စုပေါင်းဝင်ရောက်ခွင့်၊ အက်ပ်များ၊ သင့်ကိရိယာနှင့်သက်ဆိုင်သော ဒေတာနှင့် သင့်ကိရိယာ၏ တည်နေရာအချက်အလက်များကို စောင့်ကြည့်ပြီး စီမံခန့်ခွဲနိုင်သည်။ \n\nသင်သည် <xliff:g id="APPLICATION">%2$s</xliff:g> သို့ချိတ်ဆက်ထားသည်၊ ၎င်းသည် အီးမေးလ်များ၊ အက်ပ်များ၊ နှင့် ဝဘ်ဆိုက်များအပါအဝင် သင့်ကွန်ရက်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်နိုင်သည်။ \n\nအချက်အလက်များ ပိုမိုရယူရန် သင်၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 61c5c303..6406a14 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Enheten kan være overvåket"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profilen kan overvåkes"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Nettverket kan være overvåket"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Nettverket kan bli overvåket"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Enhetsovervåking"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profilovervåking"</string>
<string name="monitoring_title" msgid="169206259253048106">"Nettverksovervåking"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Enheten er koblet til <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan overvåke nettverksaktiviteten din, inkludert e-post, apper og nettsteder."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Enheten er koblet til <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan overvåke den personlige nettverksaktiviteten din, inkludert e-post, apper og nettsteder."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Enheten er koblet til <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan overvåke den personlige nettverksaktiviteten din, inkludert e-post, apper og nettsteder."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Work-profilen din administreres av <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Den er koblet til <xliff:g id="APPLICATION">%2$s</xliff:g>, som kan overvåke nettverksaktiviteten din på jobben, inkludert e-post, apper og nettsteder.\n\nFor å få mer informasjon, ta kontakt med administratoren."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Work-profilen din administreres av <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Den er koblet til <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, som kan overvåke nettverksaktiviteten din på jobben, inkludert e-post, apper og nettsteder.\n\nDu er også koblet til <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, som kan overvåke den personlige nettverksaktiviteten din."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Enheten din administreres av <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministratoren din kan overvåke og administrere innstillinger, bedriftstilgang, apper, data tilknyttet enheten din og enhetens posisjonsinformasjon.\n\nDu er koblet til <xliff:g id="APPLICATION">%2$s</xliff:g>, som kan overvåke nettverksaktiviteten din, inkludert e-post, apper og nettsteder.\n\nFor mer informasjon, ta kontakt med administratoren."</string>
diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml
index 420d7b3..4e1ec08 100644
--- a/packages/SystemUI/res/values-ne-rNP/strings.xml
+++ b/packages/SystemUI/res/values-ne-rNP/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"उपकरण अनुगमन हुन सक्छ"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"प्रोफाइल अनुगमन हुन सक्छ"</string>
<string name="vpn_footer" msgid="2388611096129106812">"सञ्जाल अनुगमित हुन सक्छ"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"नेटवर्कको अनुगमन गरिने सम्भावना छ"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"उपकरण अनुगमन"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"प्रोफाइल अनुगमन गर्दै"</string>
<string name="monitoring_title" msgid="169206259253048106">"सञ्जाल अनुगमन"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"तपाईँ <xliff:g id="APPLICATION">%1$s</xliff:g> सँग जडित हुनुहुन्छ जसले इ-मेल, अनुप्रयोगहरू र वेबसाइट लगायतका तपाईँका नेटवर्क गतिविधिको अनुगमन गर्न सक्छ।"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"तपाईँ <xliff:g id="APPLICATION">%1$s</xliff:g> सँग जडित हुनुहुन्छ जसले इ-मेल, अनुप्रयोगहरू र वेबसाइट लगायतका तपाईँको निजी नेटवर्क गतिविधिका अनुगमन गर्न सक्छ।"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"तपाईं <xliff:g id="APPLICATION">%1$s</xliff:g> मा जोडिनुभएको छ जसले इमेल, अनुप्रयोग र वेबसाइटहरू लगायतको तपाईंको व्यक्तिगत नेटवर्क सम्बन्धी गतिविधिको अनुगमन गर्न सक्छ।"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"तपाईँको कार्य प्रोफाइल <xliff:g id="ORGANIZATION">%1$s</xliff:g> द्वारा व्यवस्थापन गरिन्छ। यो <xliff:g id="APPLICATION">%2$s</xliff:g> सँग जोडिएको छ जसले इमेल, अनुप्रयोगहरू, र वेबसाइटहरू लगायतका तपाईँका नेटवर्क गतिविधि अनुगमन गर्न सक्छ।\n\nथप जानकारीको लागि, आफ्नो प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"तपाईँको कार्य प्रोफाइल <xliff:g id="ORGANIZATION">%1$s</xliff:g> द्वारा व्यवस्थापन गरिन्छ। यो <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> सँग जोडिएको छ जसले इमेल, अनुप्रयोगहरू, र वेबसाइटहरू लगायतका तपाईँका नेटवर्क गतिविधि अनुगमन गर्न सक्छ।\n\nतपाईँ <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> सँग पनि जडित हुनुहुन्छ, जसले तपाईँको व्यक्तिगत नेटवर्क गतिविधि अनुगमन गर्न सक्छ।"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"तपाईँको उपकरण <xliff:g id="ORGANIZATION">%1$s</xliff:g> द्वारा व्यवस्थित गरिन्छ।\n\nतपाईँको प्रशासकले तपाईँको यन्त्र र त्यसको स्थान जानकारीमार्फत सेटिङहरू, कर्पोरेट पहुँच, अनुप्रयोगहरू, तपाईँको यन्त्रसँग सम्बद्ध डेटा र तपाईँको यन्त्रको स्थान जानकारीको अनुगमन र व्यवस्थापन गर्न सक्छ।\n\nतपाईँ <xliff:g id="APPLICATION">%2$s</xliff:g> सँग जडित हुनुहुन्छ जसले इमेल, अनुप्रयोगहरू, र वेबसाइटहरू लगायतका तपाईँका नेटवर्क गतिविधिका अनुगमन गर्न सक्छ।\n\nथप जानकारीको लागि तपाईको प्रशासकलाई सम्पर्क गर्नुहोस्।"</string>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index bffbb83..a1d1e27 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Apparaat wordt mogelijk gecontroleerd"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profiel kan worden gecontroleerd"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Netwerk kan worden gecontroleerd"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Netwerk kan worden gecontroleerd"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Apparaatcontrole"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profielcontrole"</string>
<string name="monitoring_title" msgid="169206259253048106">"Netwerkcontrole"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"U bent verbonden met <xliff:g id="APPLICATION">%1$s</xliff:g>, waarmee je netwerkactiviteit kan worden gecontroleerd, inclusief e-mails, apps en websites."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"U bent verbonden met <xliff:g id="APPLICATION">%1$s</xliff:g>, waarmee je persoonlijke netwerkactiviteit kan worden gecontroleerd, inclusief e-mails, apps en websites."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Je bent verbonden met <xliff:g id="APPLICATION">%1$s</xliff:g>, waarmee je persoonlijke netwerkactiviteit kan worden gecontroleerd, inclusief e-mails, apps en websites."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Je werkprofiel wordt beheerd door <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Deze is verbonden met <xliff:g id="APPLICATION">%2$s</xliff:g>, waarmee je werkgerelateerde netwerkactiviteit kan worden gecontroleerd, inclusief e-mails, apps en websites.\n\nNeem contact op met je beheerder voor meer informatie."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Je werkprofiel wordt beheerd door <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Deze is verbonden met <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, waarmee je werkgerelateerde netwerkactiviteit kan worden gecontroleerd, inclusief e-mails, apps en websites.\n\nU bent ook verbonden met <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, waarmee je persoonlijke netwerkactiviteit kan worden gecontroleerd."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Je apparaat wordt beheerd door <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nJe beheerder kan instellingen, zakelijke toegang, apps, gekoppelde apparaatgegevens en locatiegegevens voor je apparaat controleren en beheren.\n\nU bent verbonden met <xliff:g id="APPLICATION">%2$s</xliff:g> waarmee je netwerkactiviteit kan worden gecontroleerd, inclusief e-mails, apps en websites.\n\nNeem contact op met je beheerder voor meer informatie."</string>
diff --git a/packages/SystemUI/res/values-pa-rIN/strings.xml b/packages/SystemUI/res/values-pa-rIN/strings.xml
index c715b42..2f0e772 100644
--- a/packages/SystemUI/res/values-pa-rIN/strings.xml
+++ b/packages/SystemUI/res/values-pa-rIN/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ਡੀਵਾਈਸ ਦਾ ਨਿਰੀਖਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"ਪ੍ਰੋਫਾਈਲ ਦਾ ਨਿਰੀਖਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string>
<string name="vpn_footer" msgid="2388611096129106812">"ਨੈੱਟਵਰਕ ਦਾ ਨਿਰੀਖਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"ਹੋ ਸਕਦਾ ਹੈ ਨੈੱਟਵਰਕ ਦੀ ਨਿਗਰਾਨੀ ਹੋ ਰਹੀ ਹੋਵੇ"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"ਡੀਵਾਈਸ ਦਾ ਨਿਰੀਖਣ ਕਰਨਾ"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"ਪ੍ਰੋਫਾਈਲ ਦਾ ਨਿਰੀਖਣ ਕਰਨਾ"</string>
<string name="monitoring_title" msgid="169206259253048106">"ਨੈੱਟਵਰਕ ਨਿਰੀਖਣ ਕਰ ਰਿਹਾ ਹੈ"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"ਤੁਸੀਂ <xliff:g id="APPLICATION">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਹੋ, ਜੋ ਈਮੇਲ, ਐਪਸ ਅਤੇ ਵੈਬਸਫ਼ਿਆਂ ਸਮੇਤ ਤੁਹਾਡੀ ਨੈੱਟਵਰਕ ਗਤੀਵਿਧੀ ਦਾ ਨਿਰੀਖਣ ਕਰ ਸਕਦੀ ਹੈ।"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"ਤੁਸੀਂ <xliff:g id="APPLICATION">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਹੋ, ਜੋ ਈਮੇਲ, ਐਪਸ ਅਤੇ ਵੈਬਸਫ਼ਿਆਂ ਸਮੇਤ ਤੁਹਾਡੀ ਨੈੱਟਵਰਕ ਗਤੀਵਿਧੀ ਦਾ ਨਿਰੀਖਣ ਕਰ ਸਕਦੀ ਹੈ।"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"ਤੁਸੀਂ <xliff:g id="APPLICATION">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਹੋ, ਜੋ ਈਮੇਲਾਂ, ਐਪਾਂ, ਅਤੇ ਵੈੱਬਸਾਈਟਾਂ ਸਮੇਤ ਤੁਹਾਡੀ ਨਿੱਜੀ ਨੈੱਟਵਰਕ ਸਰਗਰਮੀ ਦੀ ਨਿਗਰਾਨੀ ਕਰ ਸਕਦੀ ਹੈ।"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"ਤੁਹਾਡੀ ਕਾਰਜ ਪ੍ਰੋਫ਼ਾਈਲ <xliff:g id="ORGANIZATION">%1$s</xliff:g> ਦੁਆਰਾ ਵਿਵਸਥਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ <xliff:g id="APPLICATION">%2$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਹੈ, ਜੋ ਈਮੇਲ, ਐਪਸ ਅਤੇ ਵੈਬਸਫ਼ਿਆਂ ਸਮੇਤ ਤੁਹਾਡੀ ਨੈੱਟਵਰਕ ਗਤੀਵਿਧੀ ਦਾ ਨਿਰੀਖਣ ਕਰ ਸਕਦੀ ਹੈ।\n\nਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"ਤੁਹਾਡੀ ਕਾਰਜ ਪ੍ਰੋਫ਼ਾਈਲ <xliff:g id="ORGANIZATION">%1$s</xliff:g> ਦੁਆਰਾ ਵਿਵਸਥਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਹੈ, ਜੋ ਈਮੇਲ, ਐਪਸ ਅਤੇ ਵੈਬਸਫ਼ਿਆਂ ਸਮੇਤ ਤੁਹਾਡੀ ਨੈੱਟਵਰਕ ਗਤੀਵਿਧੀ ਦਾ ਨਿਰੀਖਣ ਕਰ ਸਕਦੀ ਹੈ।\n\nਤੁਸੀਂ <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> ਨਾਲ ਵੀ ਕਨੈਕਟ ਹੋ, ਜੋ ਤੁਹਾਡੀ ਨਿੱਜੀ ਨੈੱਟਵਰਕ ਗਤੀਵਿਧੀ ਦਾ ਨਿਰੀਖਣ ਕਰ ਸਕਦਾ ਹੈ।"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"ਤੁਹਾਡੀ ਡੀਵਾਈਸ <xliff:g id="ORGANIZATION">%1$s</xliff:g> ਦੁਆਰਾ ਵਿਵਸਥਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।\n\nਪ੍ਰਬੰਧਕ ਸੈਟਿੰਗਾਂ, ਕਾਰਪੋਰੇਟ ਪਹੁੰਚ, ਐਪਸ, ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨਾਲ ਸੰਬੰਧਿਤ ਡੈਟਾ ਅਤੇ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦੀ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਜਾਣਕਾਰੀ ਦਾ ਨਿਰੀਖਣ ਅਤੇ ਉਸਨੂੰ ਵਿਵਸਥਿਤ ਕਰ ਸਕਦਾ ਹੈ।\n\nਤੁਸੀਂ ਇੱਕ <xliff:g id="APPLICATION">%2$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਹੋ, ਜੋ ਈਮੇਲ, ਐਪਸ ਅਤੇ ਵੈੱਬਪੰਨੇ ਸਮੇਤ ਤੁਹਾਡੀ ਨੈੱਟਵਰਕ ਗਤੀਵਿਧੀ ਦੀ ਨਿਗਰਾਨੀ ਕਰ ਸਕਦਾ ਹੈ।\n\nਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index accb25e..7d69a9f 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -408,6 +408,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Urządzenie może być monitorowane"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil może być monitorowany"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Sieć może być monitorowana"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Sieć może być monitorowana"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Monitorowanie urządzeń"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitorowanie profilu"</string>
<string name="monitoring_title" msgid="169206259253048106">"Monitorowanie sieci"</string>
@@ -420,6 +421,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Masz połączenie z aplikacją <xliff:g id="APPLICATION">%1$s</xliff:g>, która może monitorować Twoją aktywność w sieci, w tym e-maile, aplikacje i strony internetowe."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Masz połączenie z aplikacją <xliff:g id="APPLICATION">%1$s</xliff:g>, która może monitorować Twoją prywatną aktywność w sieci, w tym e-maile, aplikacje i strony internetowe."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Masz połączenie z aplikacją <xliff:g id="APPLICATION">%1$s</xliff:g>, która może monitorować Twoją prywatną aktywność w sieci, w tym e-maile, aplikacje i strony internetowe."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Twoim profilem do pracy zarządza <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Profil jest połączony z aplikacją <xliff:g id="APPLICATION">%2$s</xliff:g>, która może monitorować Twoją aktywność w sieci związaną z pracą, w tym e-maile, aplikacje i strony internetowe.\n\nAby dowiedzieć się więcej, skontaktuj się z administratorem."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Twoim profilem do pracy zarządza <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Profil jest połączony z aplikacją <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, która może monitorować Twoją aktywność w sieci związaną z pracą, w tym e-maile, aplikacje i strony internetowe.\n\nMasz też połączenie z aplikacją <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, która może monitorować Twoją prywatną aktywność w sieci."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Twoim urządzeniem zarządza <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministrator może monitorować ustawienia, firmowe uprawnienia dostępu, aplikacje, dane powiązane z urządzeniem i informacje o jego lokalizacji oraz nimi zarządzać.\n\nMasz połączenie z aplikacją <xliff:g id="APPLICATION">%2$s</xliff:g>, która może monitorować Twoją aktywność w sieci, w tym e-maile, aplikacje i strony internetowe.\n\nAby dowiedzieć się więcej, skontaktuj się z administratorem."</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index 1071a12d..91746f3 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"O dispositivo pode ser monitorado"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"O perfil pode ser monitorado"</string>
<string name="vpn_footer" msgid="2388611096129106812">"A rede pode ser monitorada"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"A rede pode ser monitorada"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Monitoramento de dispositivos"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitoramento de perfis"</string>
<string name="monitoring_title" msgid="169206259253048106">"Monitoramento de rede"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Você está conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode monitorar sua atividade na rede, incluindo e-mails, apps e websites."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Você está conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode monitorar sua atividade pessoal na rede, incluindo e-mails, apps e websites."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Você está conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode monitorar sua atividade pessoal na rede, incluindo e-mails, apps e websites."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Seu perfil de trabalho é gerenciado por <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ele está conectado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pode monitorar sua atividade profissional na rede, incluindo e-mails, apps e websites.\n\nPara ver mais informações, entre em contato com seu administrador."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Seu perfil de trabalho é gerenciado por <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ele está conectado a <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, que pode monitorar sua atividade profissional na rede, incluindo e-mails, apps e websites.\n\nVocê também está conectado a <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, que pode monitorar sua atividade pessoal na rede."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Seu dispositivo é gerenciado por <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nSeu administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, dados associados ao seu dispositivo e informações sobre localização do dispositivo.\n\nVocê está conectado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pode monitorar suas atividades de rede, incluindo e-mails, apps e websites.\n\nPara ver mais informações, entre em contato com seu administrador."</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index a6471f0..496e05e 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"O dispositivo pode ser monitorizado"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"O perfil pode ser monitorizado"</string>
<string name="vpn_footer" msgid="2388611096129106812">"A rede pode ser monitorizada"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"A rede pode ser monitorizada"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Monitorização de dispositivos"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitorização de perfis"</string>
<string name="monitoring_title" msgid="169206259253048106">"Monitorização da rede"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Está ligado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode monitorizar a atividade da rede, incluindo emails, aplicações e Websites."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Está ligado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode monitorizar a atividade da rede pessoal, incluindo emails, aplicações e Websites."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Está ligado ao <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode monitorizar a atividade da rede pessoal, incluindo emails, aplicações e Websites."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"O seu perfil de trabalho é gerido por <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Está ligado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pode monitorizar a atividade da rede de trabalho, incluindo emails, aplicações e Websites.\n\nPara obter mais informações, contacte o administrador."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"O seu perfil de trabalho é gerido por <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Está ligado a <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, que pode monitorizar a atividade da rede de trabalho, incluindo emails, aplicações e Websites.\n\nTambém está ligado a <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, que pode monitorizar a atividade da rede pessoal."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"O seu dispositivo é gerido por <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nO seu administrador pode monitorizar e gerir as definições, o acesso empresarial, as aplicações, os dados associados ao dispositivo e as informações de localização do dispositivo.\n\nEstá ligado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pode monitorizar a atividade da rede, incluindo emails, aplicações e Websites.\n\nPara obter mais informações, contacte o administrador."</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 1071a12d..91746f3 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"O dispositivo pode ser monitorado"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"O perfil pode ser monitorado"</string>
<string name="vpn_footer" msgid="2388611096129106812">"A rede pode ser monitorada"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"A rede pode ser monitorada"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Monitoramento de dispositivos"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitoramento de perfis"</string>
<string name="monitoring_title" msgid="169206259253048106">"Monitoramento de rede"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Você está conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode monitorar sua atividade na rede, incluindo e-mails, apps e websites."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Você está conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode monitorar sua atividade pessoal na rede, incluindo e-mails, apps e websites."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Você está conectado a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pode monitorar sua atividade pessoal na rede, incluindo e-mails, apps e websites."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Seu perfil de trabalho é gerenciado por <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ele está conectado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pode monitorar sua atividade profissional na rede, incluindo e-mails, apps e websites.\n\nPara ver mais informações, entre em contato com seu administrador."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Seu perfil de trabalho é gerenciado por <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ele está conectado a <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, que pode monitorar sua atividade profissional na rede, incluindo e-mails, apps e websites.\n\nVocê também está conectado a <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, que pode monitorar sua atividade pessoal na rede."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Seu dispositivo é gerenciado por <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nSeu administrador pode monitorar e gerenciar configurações, acesso corporativo, apps, dados associados ao seu dispositivo e informações sobre localização do dispositivo.\n\nVocê está conectado a <xliff:g id="APPLICATION">%2$s</xliff:g>, que pode monitorar suas atividades de rede, incluindo e-mails, apps e websites.\n\nPara ver mais informações, entre em contato com seu administrador."</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 34b671e..115cf95 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -408,6 +408,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Dispozitivul poate fi monitorizat"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profilul poate fi monitorizat"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Rețeaua poate fi monitorizată"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Este posibil ca rețeaua să fie monitorizată"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Monitorizarea dispozitivului"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitorizarea profilului"</string>
<string name="monitoring_title" msgid="169206259253048106">"Monitorizarea rețelei"</string>
@@ -420,6 +421,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Sunteți conectat(ă) la <xliff:g id="APPLICATION">%1$s</xliff:g>, care vă poate monitoriza activitatea în rețea, inclusiv e-mailurile, aplicațiile și site-urile."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Sunteți conectat(ă) la <xliff:g id="APPLICATION">%1$s</xliff:g>, care vă poate monitoriza activitatea în rețeaua personală, inclusiv e-mailurile, aplicațiile și site-urile."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"V-ați conectat la aplicația <xliff:g id="APPLICATION">%1$s</xliff:g>, care vă poate monitoriza activitatea personală în rețea, inclusiv e-mailurile, aplicațiile și site-urile accesate."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Profilul de serviciu este gestionat de <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Este conectat la <xliff:g id="APPLICATION">%2$s</xliff:g>, care vă poate monitoriza activitatea în rețeaua de serviciu, inclusiv e-mailurile, aplicațiile și site-urile.\n\nPentru mai multe informații, contactați administratorul."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Profilul de serviciu este gestionat de <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Este conectat la <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, care vă poate monitoriza activitatea în rețeaua de serviciu, inclusiv e-mailurile, aplicațiile și site-urile.\n\nDe asemenea, sunteți conectat(ă) la <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, care vă poate monitoriza activitatea în rețeaua personală."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Dispozitivul este gestionat de <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministratorul poate monitoriza și gestiona setările, accesul la rețeaua companiei, aplicațiile, datele asociate cu dispozitivul și informațiile privind locația dispozitivului.\n\nSunteți conectat(ă) la <xliff:g id="APPLICATION">%2$s</xliff:g>, care vă poate monitoriza activitatea în rețea, inclusiv e-mailurile, aplicațiile și site-urile.\n\nPentru mai multe informații, contactați administratorul."</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index 83e1792..f15caf4 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -410,6 +410,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Устройство может контролироваться"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Действия в профиле могут отслеживаться"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Сеть может отслеживаться"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Сеть может отслеживаться"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Отслеживание устройств"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Мониторинг профиля"</string>
<string name="monitoring_title" msgid="169206259253048106">"Отслеживание сетей"</string>
@@ -422,6 +423,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"Сеть VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Запущено приложение \"<xliff:g id="APPLICATION">%1$s</xliff:g>\", которое может отслеживать ваши действия в Интернете, включая работу с электронной почтой, приложениями и веб-сайтами."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Запущено приложение \"<xliff:g id="APPLICATION">%1$s</xliff:g>\", которое может отслеживать ваши действия в Интернете (выполняемые в личном профиле), включая работу с электронной почтой, приложениями и веб-сайтами."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Запущено приложение \"<xliff:g id="APPLICATION">%1$s</xliff:g>\", которое может отслеживать ваши действия в сети, включая работу с электронной почтой, приложениями и веб-сайтами."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Вашим рабочим профилем управляет \"<xliff:g id="ORGANIZATION">%1$s</xliff:g>\". Приложение \"<xliff:g id="APPLICATION">%2$s</xliff:g>\" может отслеживать ваши действия в Интернете, включая работу с электронной почтой, приложениями и веб-сайтами.\n\nЗа дополнительной информацией обратитесь к своему администратору."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Вашим рабочим профилем управляет \"<xliff:g id="ORGANIZATION">%1$s</xliff:g>\". Приложение \"<xliff:g id="APPLICATION_WORK">%2$s</xliff:g>\" может отслеживать ваши действия в Интернете, включая работу с электронной почтой, приложениями и веб-сайтами.\n\nПриложение \"<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>\" может отслеживать ваши действия в Интернете, выполняемые в личном профиле."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Вашим корпоративным профилем управляет <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nАдминистратор может управлять настройками, корпоративным доступом, приложениями, данными на вашем устройстве, в том числе геоданными, а также просматривать соответствующие сведения.\n\nПриложение <xliff:g id="APPLICATION">%2$s</xliff:g> также может отслеживать ваши действия в сети, включая работу с электронной почтой, приложениями и веб-сайтами.\n\nЗа подробностями обратитесь к своему администратору."</string>
diff --git a/packages/SystemUI/res/values-si-rLK/strings.xml b/packages/SystemUI/res/values-si-rLK/strings.xml
index 139ea8c..f05ba9a 100644
--- a/packages/SystemUI/res/values-si-rLK/strings.xml
+++ b/packages/SystemUI/res/values-si-rLK/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"ඇතැම් විට උපාංගය නිරීක්ෂණය විය හැක"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"ඇතැම් විට පැතිකඩ නිරීක්ෂණය කරන ලදි"</string>
<string name="vpn_footer" msgid="2388611096129106812">"ඇතැම් විට ජාලය නිරීක්ෂණය විය හැක"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"ඇතැම් විට ජාලය නිරීක්ෂණය විය හැක"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"උපාංගය නිරීක්ෂණය"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"පැතිකඩ නිරීක්ෂණය කිරීම"</string>
<string name="monitoring_title" msgid="169206259253048106">"ජාල නිරීක්ෂණය"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"ඊ-තැපැල්, යෙදුම් සහ වෙබ් අඩවි ඇතුළු ඔබේ ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැකි, <xliff:g id="APPLICATION">%1$s</xliff:g> වෙත ඔබ සම්බන්ධ වී ඇත."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"ඊ-තැපැල්, යෙදුම් සහ වෙබ් අඩවි ඇතුළු ඔබේ පෞද්ගලික ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැකි, <xliff:g id="APPLICATION">%1$s</xliff:g> වෙත ඔබ සම්බන්ධ වී ඇත."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"ඊ-තැපැල්, යෙදුම් සහ වෙබ් අඩවි ඇතුළු ඔබේ පෞද්ගලික ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැකි, <xliff:g id="APPLICATION">%1$s</xliff:g> වෙත ඔබ සම්බන්ධ වී ඇත."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"ඔබේ කාර්යාල පැතිකඩ කළමනාකරණය කරන්නේ <xliff:g id="ORGANIZATION">%1$s</xliff:g> විසිනි. එය ඊ-තැපැල්, යෙදුම් සහ වෙබ් අඩවි ඇතුළු ඔබේ කාර්යාල ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැකි, <xliff:g id="APPLICATION">%2$s</xliff:g> වෙත ඔබ සම්බන්ධ වී ඇත.\n\nවැඩිදුර විස්තර සඳහා, ඔබේ පරිපාලක අමතන්න."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"ඔබේ කාර්යාල පැතිකඩ කළමනාකරණය කරන්නේ <xliff:g id="ORGANIZATION">%1$s</xliff:g> විසිනි. එය ඊ-තැපැල්, යෙදුම් සහ වෙබ් අඩවි ඇතුළු ඔබේ කාර්යාල ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැකි, <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, වෙත ඔබ සම්බන්ධ වී ඇත.\n\nඔබ ඔබේ පෞද්ගලික ජාල ක්රියාකාරකම් නිරීක්ෂණය කළ හැකි, <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> වෙතද සම්බන්ධ වී ඇත."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"ඔබේ උපාංගය කළමනාකරණය කරන්නේ <xliff:g id="ORGANIZATION">%1$s</xliff:g> විසිනි.\n\nඔබේ පරිපාලකට ඔබේ උපාංගය හා සම්බන්ධිත සැකසීම්, ආයතනික ප්රවේශය, යෙදුම්, දත්ත සහ ඔබේ උපාංගය තිබෙන ස්ථානයේ තොරතුරු නිරීක්ෂණය කිරීමට සහ කළමනාකරණය කිරීමට හැකිය.\n\nඔබ ඊ-තැපැල්, යෙදුම්, සහ වෙබ් අඩවි ඇතුළු ඔබේ ජාල ක්රියාකාරකම් නිරීක්ෂණය කිරීමට හැකි <xliff:g id="APPLICATION">%2$s</xliff:g>, වෙතද සම්බන්ධව ඇත.\n\nවැඩිදුර තොරතුරු සඳහා, ඔබගේ පරිපාලක අමතන්න."</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index c16cbc7..2fe2073 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -410,6 +410,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Zariadenie môže byť sledované"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil môže byť monitorovaný"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Sieť môže byť sledovaná"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Sieť môže byť monitorovaná"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Sledovanie zariadenia"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitorovanie profilu"</string>
<string name="monitoring_title" msgid="169206259253048106">"Sledovanie siete"</string>
@@ -422,6 +423,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Ste pripojený/-á k aplikácii <xliff:g id="APPLICATION">%1$s</xliff:g>, ktorá môže sledovať vašu aktivitu v sieti vrátane e-mailových správ, aplikácií a webových stránok."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Ste pripojený/-á k aplikácii <xliff:g id="APPLICATION">%1$s</xliff:g>, ktorá môže sledovať vašu osobnú aktivitu v sieti vrátane e-mailových správ, aplikácií a webových stránok."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Ste pripojený/-á k aplikácii <xliff:g id="APPLICATION">%1$s</xliff:g>, ktorá môže sledovať vašu osobnú aktivitu v sieti vrátane e-mailových správ, aplikácií a webových stránok."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Váš pracovný profil spravuje organizácia <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Je pripojený k aplikácii <xliff:g id="APPLICATION">%2$s</xliff:g>, ktorá môže sledovať vašu pracovnú aktivitu v sieti vrátane e-mailových správ, aplikácií a webových stránok.\n\nĎalšie informácie získate od svojho správcu."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Váš pracovný profil spravuje organizácia <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Je pripojený k aplikácii <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, ktorá môže sledovať vašu pracovnú aktivitu v sieti vrátane e-mailových správ, aplikácií a webových stránok.\n\nSte tiež pripojený/-á k aplikácii <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, ktorá môže sledovať vašu osobnú aktivitu v sieti."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Vaše zariadenie spravuje organizácia <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nSprávca môže sledovať a spravovať nastavenia, podnikový prístup, aplikácie a údaje priradené k vášmu účtu, ako aj informácie o polohe zariadenia.\n\nSte pripojený/-á k aplikácii <xliff:g id="APPLICATION">%2$s</xliff:g>, ktorá môže sledovať vašu aktivitu v sieti vrátane e-mailových správ, aplikácii a webových stránok.\n\nĎalšie informácie získate od svojho správcu."</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 7f24a28..2ab9390 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -410,6 +410,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Naprava je morda nadzorovana"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil je morda nadziran"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Omrežje je lahko nadzorovano"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Omrežje je morda nadzorovano"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Nadzor naprave"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Nadzor nad profilom"</string>
<string name="monitoring_title" msgid="169206259253048106">"Nadzor omrežja"</string>
@@ -422,6 +423,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Povezani ste z aplikacijo <xliff:g id="APPLICATION">%1$s</xliff:g>, ki lahko nadzira omrežno dejavnost, vključno z e-pošto, aplikacijami in spletnimi mesti."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Povezani ste z aplikacijo <xliff:g id="APPLICATION">%1$s</xliff:g>, ki lahko nadzira vašo osebno omrežno dejavnost, vključno z e-pošto, aplikacijami in spletnimi mesti."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Povezani ste z aplikacijo <xliff:g id="APPLICATION">%1$s</xliff:g>, ki lahko nadzira vašo osebno omrežno dejavnost, vključno z e-pošto, aplikacijami in spletnimi mesti."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Delovni profil upravlja organizacija <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Povezan je z aplikacijo <xliff:g id="APPLICATION">%2$s</xliff:g>, ki lahko nadzira vašo delovno omrežno dejavnost, vključno z e-pošto, aplikacijami in spletnimi mesti.\n\nČe želite več informacij, se obrnite na skrbnika."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Delovni profil upravlja organizacija <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Povezan je z aplikacijo <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, ki lahko nadzira vašo delovno omrežno dejavnost, vključno z e-pošto, aplikacijami in spletnimi mesti.\n\nPovezani ste tudi z aplikacijo <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, ki lahko nadzira vašo osebno omrežno dejavnost."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Napravo upravlja organizcija <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nSkrbnik lahko nadzira in upravlja nastavitve, dostop za podjetje, aplikacije, podatke, povezane z napravo, in podatke o lokaciji naprave.\n\nPovezani ste z aplikacijo <xliff:g id="APPLICATION">%2$s</xliff:g>, ki lahko nadzira omrežno dejavnost, vključno z e-pošto, aplikacijami in spletnimi mesti.\n\nČe želite več informacij, se obrnite na skrbnika."</string>
diff --git a/packages/SystemUI/res/values-sq-rAL/strings.xml b/packages/SystemUI/res/values-sq-rAL/strings.xml
index 1aeb365..146964d 100644
--- a/packages/SystemUI/res/values-sq-rAL/strings.xml
+++ b/packages/SystemUI/res/values-sq-rAL/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Pajisja mund të monitorohet"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profili mund të monitorohet"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Rrjeti mund të jetë i monitoruar"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Rrjeti mund të jetë i monitoruar"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Monitorimi i pajisjes"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Monitorimi i profilit"</string>
<string name="monitoring_title" msgid="169206259253048106">"Monitorimi i rrjetit"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Je i lidhur me aplikacionin <xliff:g id="APPLICATION">%1$s</xliff:g>, i cili mund të monitorojë aktivitetin tënd në rrjet përfshirë mailet, aplikacionet dhe sajtet e uebit."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Je i lidhur me aplikacionin <xliff:g id="APPLICATION">%1$s</xliff:g>, i cili mund të monitorojë aktivitetin tënd personal në rrjet, përfshirë mailet, aplikacionet dhe sajtet e uebit."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Je i lidhur me aplikacionin <xliff:g id="APPLICATION">%1$s</xliff:g>, i cili mund të monitorojë aktivitetin tënd personal në rrjet, përfshirë mailet, aplikacionet dhe sajtet e uebit."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Profili yt i punës menaxhohet nga <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ai është i lidhur me <xliff:g id="APPLICATION">%2$s</xliff:g>, i cili mund të monitorojë aktivitetin tënd të punës në rrjet, përfshirë mailet, aplikacionet dhe sajtet e uebit.\n\nPër më shumë informacione, kontakto me administratorin tënd."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Profili yt i punës menaxhohet nga <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ai është i lidhur me <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, i cili mund të monitorojë aktivitetin tënd të punës në rrjet, përfshirë mailet, aplikacionet dhe sajtet e uebit.\n\nJe lidhur gjithashtu edhe me <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, i cili mund të monitorojë aktivitetin tënd personal në rrjet."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Pajisja jote menaxhohet nga <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministratori mund të monitorojë dhe menaxhojë cilësimet, qasjen e korporatës, aplikacionet, të dhënat që shoqërojnë pajisjen tënde si dhe informacionin e vendndodhjes së pajisjes.\n\nJe i lidhur me <xliff:g id="APPLICATION">%2$s</xliff:g>, që mund të monitorojë aktivitetin tënd të punës në rrjet përfshirë mail-at, aplikacionet dhe faqet e internetit.\n\nPër më shumë informacion, kontakto me administratorin tënd."</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index dfc75bc..b127028 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Уређај се можда надгледа"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Профил се можда надгледа"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Мрежа се можда надгледа"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Мрежа се можда надгледа"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Надгледање уређаја"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Надгледање профила"</string>
<string name="monitoring_title" msgid="169206259253048106">"Надгледање мреже"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Повезани сте са апликацијом <xliff:g id="APPLICATION">%1$s</xliff:g>, која може да надгледа активности на мрежи, укључујући имејлове, апликације и веб-сајтове."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Повезани сте са апликацијом <xliff:g id="APPLICATION">%1$s</xliff:g>, која може да надгледа активности на личној мрежи, укључујући имејлове, апликације и веб-сајтове."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Повезани сте са апликацијом <xliff:g id="APPLICATION">%1$s</xliff:g>, која може да надгледа активности на личној мрежи, укључујући имејлове, апликације и веб-сајтове."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Профилом за Work управља <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Повезан је са апликацијом <xliff:g id="APPLICATION">%2$s</xliff:g>, која може да надгледа активности на пословној мрежи, укључујући имејлове, апликације и веб-сајтове.\n\nВише информација потражите од администратора."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Профилом за Work управља <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Повезан је са апликацијом <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, која може да надгледа активности на пословној мрежи, укључујући имејлове, апликације и веб-сајтове.\n\nПовезани сте и са апликацијом <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, која може да надгледа активности на личној мрежи."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Уређајем управља <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nАдминистратор може да надгледа подешавања, корпоративни приступ, апликације, податке повезане са уређајем и информације о локацији уређаја, као и да управља њима.\n\nПовезани сте са апликацијом <xliff:g id="APPLICATION">%2$s</xliff:g>, која може да надгледа активности на мрежи, укључујући имејлове, апликације и веб-сајтове.\n\nВише информација потражите од администратора."</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 6224393..a6aa2d1 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Enheten kan övervakas"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Det kan hända att profilen övervakas"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Nätverket kan vara övervakat"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Nätverket kan vara övervakat"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Enhetsövervakning"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profilövervakning"</string>
<string name="monitoring_title" msgid="169206259253048106">"Nätverksövervakning"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Du är ansluten till <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan bevaka aktivitet på nätverket, inklusive e-post, appar och webbplatser."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Du är ansluten till <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan bevaka din privata aktivitet på nätverket, inklusive e-post, appar och webbplatser."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Du är ansluten till <xliff:g id="APPLICATION">%1$s</xliff:g> som kan övervaka din privata aktivitet på nätverket, inklusive e-postmeddelanden, appar och webbplatser."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Jobbprofilen hanteras av <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Den är ansluten till <xliff:g id="APPLICATION">%2$s</xliff:g>, som kan hantera aktivitet på arbetsplatsens nätverk, inklusive e-post, appar och webbplatser.\n\nKontakta administratören för mer information."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Jobbprofilen hanteras av <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Den är ansluten till <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, som kan hantera aktivitet på arbetsplatsens nätverk, inklusive e-post, appar och webbplatser.\n\nDu är även ansluten till <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, som kan hantera privat aktivitet på nätverket."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Enheten hanteras av <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nAdministratören kan bevaka och hantera inställningar, företagsåtkomst, appar, data som är kopplad till enheten och enhetens platsuppgifter.\n\nDu är ansluten till <xliff:g id="APPLICATION">%2$s</xliff:g>, som kan övervaka aktivitet på nätverket, inklusive e-post. appar och webbplatser .\n\nKontakta administratören för mer information."</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 68febd5..c6bd735 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Huenda kifaa kinafuatiliwa"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Huenda wasifu ukafuatiliwa"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Huenda mtandao unafuatiliwa"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Huenda mtandao unafuatiliwa"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Ufuatiliaji wa kifaa"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Ufuatiliaji wasifu"</string>
<string name="monitoring_title" msgid="169206259253048106">"Ufuatiliaji wa mtandao"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Umeunganishwa kwenye <xliff:g id="APPLICATION">%1$s</xliff:g>, ambayo inaweza kufuatilia shughuli za mtandao wako, ikiwa ni pamoja na barua pepe, programu na tovuti."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Umeunganishwa kwenye <xliff:g id="APPLICATION">%1$s</xliff:g>, ambayo inaweza kufuatilia shughuli za mtandao wako, ikiwa ni pamoja na barua pepe, programu na tovuti."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Umeunganishwa kwenye <xliff:g id="APPLICATION">%1$s</xliff:g>, ambayo inaweza kufuatilia shughuli za mtandao wako, ikiwa ni pamoja na barua pepe, programu na tovuti."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Wasifu wako wa kazini unasimamiwa na <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Wasifu huu umeunganishwa kwenye <xliff:g id="APPLICATION">%2$s</xliff:g>, ambayo inaweza kufuatilia shughuli za mtandao wako, ikiwa ni pamoja na barua pepe, programu, na tovuti. \n\nKwa maelezo zaidi, wasiliana na msimamizi wako."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Wasifu wako wa kazini unasimamiwa na <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Wasifu huu umeunganishwa kwenye <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, ambayo inaweza kufuatilia mtandao wako wa kazini, ikiwa ni pamoja na barua pepe, programu na tovuti. \n\n Wewe pia umeunganishwa kwenye <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, ambayo inaweza kufuatilia shughuli za mtandao wako kibinafsi."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Kifaa chako kinasimamiwa na <xliff:g id="ORGANIZATION">%1$s</xliff:g>. \n\nMsimamizi wako anaweza kufuatilia na kudhibiti mipangilio, ufikiaji wa kampuni, programu, data inayohusiana na kifaa chako, na maelezo ya mahali kilipo kifaa chako. \n\n Umeuganishwa kwenye <xliff:g id="APPLICATION">%2$s</xliff:g>, ambayo inaweza kufuatilia shughuli ya mtandao wako, ikiwa ni pamoja na barua pepe, programu, na tovuti. \n\n Kwa maelezo zaidi, wasiliana na msimamizi wako."</string>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml
index 3bd939a..ae2e4b0 100644
--- a/packages/SystemUI/res/values-ta-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ta-rIN/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"சாதனம் கண்காணிக்கப்படலாம்"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"சுயவிவரம் கண்காணிக்கப்படலாம்"</string>
<string name="vpn_footer" msgid="2388611096129106812">"நெட்வொர்க் கண்காணிக்கப்படலாம்"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"நெட்வொர்க் கண்காணிக்கப்படலாம்"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"சாதனத்தைக் கண்காணித்தல்"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"சுயவிவரத்தைக் கண்காணித்தல்"</string>
<string name="monitoring_title" msgid="169206259253048106">"நெட்வொர்க்கைக் கண்காணித்தல்"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"<xliff:g id="APPLICATION">%1$s</xliff:g> உடன் இணைக்கப்பட்டுள்ளீர்கள். இந்தப் பயன்பாட்டால், மின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் இணையதளங்கள் உட்பட உங்கள் நெட்வொர்க் செயல்பாட்டைக் கண்காணிக்க முடியும்."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"<xliff:g id="APPLICATION">%1$s</xliff:g> உடன் இணைக்கப்பட்டுள்ளீர்கள். இந்தப் பயன்பாட்டால், மின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் இணையதளங்கள் உட்பட உங்கள் தனிப்பட்ட நெட்வொர்க் செயல்பாட்டைக் கண்காணிக்க முடியும்."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"<xliff:g id="APPLICATION">%1$s</xliff:g> உடன் இணைக்கப்பட்டுள்ளீர்கள். இந்தப் பயன்பாட்டால் மின்னஞ்சல்கள், பயன்பாடுகள், இணையதளங்கள் உட்பட உங்கள் தனிப்பட்ட நெட்வொர்க் செயல்பாட்டைக் கண்காணிக்க முடியும்."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"உங்கள் பணி சுயவிவரத்தை <xliff:g id="ORGANIZATION">%1$s</xliff:g> நிர்வகிக்கிறது. <xliff:g id="APPLICATION">%2$s</xliff:g> உடன் இணைக்கப்பட்டதால், மின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் இணையதளங்கள் உட்பட உங்கள் பணியிட நெட்வொர்க் செயல்பாட்டை அதனால் கண்காணிக்க முடியும்.\n\nகூடுதல் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"உங்கள் பணி சுயவிவரத்தை <xliff:g id="ORGANIZATION">%1$s</xliff:g> நிர்வகிக்கிறது. <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> உடன் இணைக்கப்பட்டுள்ளதால், மின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் இணையதளங்கள் உட்பட உங்கள் பணியிட நெட்வொர்க் செயல்பாட்டை அதனால் கண்காணிக்க முடியும்.\n\nமேலும் <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> உடன் இணைக்கப்பட்டுள்ளதால், உங்கள் தனிப்பட்ட நெட்வொர்க் செயல்பாட்டையும் அதனால் கண்காணிக்க முடியும்."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"சாதனத்தை நிர்வகிப்பது: <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nஉங்கள் நிர்வாகியால் அமைப்புகள், நிறுவன அணுகல், பயன்பாடுகள், சாதனத்துடன் தொடர்புடைய தரவு மற்றும் சாதனத்தின் இருப்பிடத் தகவல் ஆகியவற்றைக் கண்காணிக்கவும் நிர்வகிக்கவும் முடியும்.\n\n<xliff:g id="APPLICATION">%2$s</xliff:g> உடன் இணைக்கப்பட்டதால், மின்னஞ்சல்கள், பயன்பாடுகள் மற்றும் இணையதளங்கள் உட்பட உங்கள் நெட்வொர்க் செயல்பாட்டை அதனால் கண்காணிக்க முடியும்.\n\nகூடுதல் தகவலுக்கு, நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml
index 892ae7b..eb0aec3 100644
--- a/packages/SystemUI/res/values-te-rIN/strings.xml
+++ b/packages/SystemUI/res/values-te-rIN/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"పరికరం పర్యవేక్షించబడవచ్చు"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"ప్రొఫైల్ని పర్యవేక్షించవచ్చు"</string>
<string name="vpn_footer" msgid="2388611096129106812">"నెట్వర్క్ పర్యవేక్షించబడవచ్చు"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"నెట్వర్క్ పర్యవేక్షించబడవచ్చు"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"పరికర పర్యవేక్షణ"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"ప్రొఫైల్ పర్యవేక్షణ"</string>
<string name="monitoring_title" msgid="169206259253048106">"నెట్వర్క్ పర్యవేక్షణ"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"మీరు <xliff:g id="APPLICATION">%1$s</xliff:g>కి కనెక్ట్ చేయబడ్డారు, ఇది ఇమెయిల్లు, అనువర్తనాలు మరియు వెబ్సైట్లతో సహా మీ నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలదు."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"మీరు <xliff:g id="APPLICATION">%1$s</xliff:g>కి కనెక్ట్ చేయబడ్డారు, ఇది ఇమెయిల్లు, అనువర్తనాలు మరియు వెబ్సైట్లతో సహా మీ వ్యక్తిగత నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలదు."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"మీరు <xliff:g id="APPLICATION">%1$s</xliff:g>కి కనెక్ట్ చేయబడ్డారు, ఇది ఇమెయిల్లు, అనువర్తనాలు మరియు వెబ్సైట్లతో సహా మీ వ్యక్తిగత నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలదు."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"మీ కార్యాలయ ప్రొఫైల్ను <xliff:g id="ORGANIZATION">%1$s</xliff:g> నిర్వహిస్తోంది. అలాగే, మీ కార్యాలయ ప్రొఫైల్ <xliff:g id="APPLICATION">%2$s</xliff:g>కి కనెక్ట్ చేయబడింది, ఇది ఇమెయిల్లు, అనువర్తనాలు మరియు వెబ్సైట్లతో సహా మీ కార్యాలయ నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలదు.\n\nమరింత సమాచారం కోసం, మీ నిర్వాహకుడిని సంప్రదించండి."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"మీ కార్యాలయ ప్రొఫైల్ను <xliff:g id="ORGANIZATION">%1$s</xliff:g> నిర్వహిస్తోంది. అలాగే, మీ కార్యాలయ ప్రొఫైల్ <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>కి కనెక్ట్ చేయబడింది, ఇది ఇమెయిల్లు, అనువర్తనాలు మరియు వెబ్సైట్లతో సహా మీ కార్యాలయ నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలదు.\n\nమీరు <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>కి కూడా కనెక్ట్ చేయబడ్డారు, ఇది మీ వ్యక్తిగత నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలదు."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"మీ పరికరాన్ని <xliff:g id="ORGANIZATION">%1$s</xliff:g> నిర్వహిస్తోంది.\n\nమీ నిర్వాహకుడు సెట్టింగ్లను, కార్పొరేట్ ప్రాప్యతను, అనువర్తనాలను, మీ పరికరంతో అనుబంధించిన డేటాను మరియు మీ పరికర స్థాన సమాచారాన్ని పర్యవేక్షించగలరు మరియు నిర్వహించగలరు.\n\nమీరు <xliff:g id="APPLICATION">%2$s</xliff:g>కి కనెక్ట్ చేయబడ్డారు, ఇది ఇమెయిల్లు, అనువర్తనాలు మరియు వెబ్సైట్లతో సహా మీ నెట్వర్క్ కార్యాచరణను పర్యవేక్షించగలదు.\n\nమరింత సమాచారం కోసం, మీ నిర్వాహకుడిని సంప్రదించండి."</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 9501b79..f31bb02 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"อาจมีการตรวจสอบอุปกรณ์"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"อาจมีการตรวจสอบโปรไฟล์"</string>
<string name="vpn_footer" msgid="2388611096129106812">"เครือข่ายอาจได้รับการตรวจสอบ"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"เครือข่ายอาจถูกตรวจสอบ"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"การตรวจสอบอุปกรณ์"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"การตรวจสอบโปรไฟล์"</string>
<string name="monitoring_title" msgid="169206259253048106">"การตรวจสอบเครือข่าย"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"คุณเชื่อมต่อกับ <xliff:g id="APPLICATION">%1$s</xliff:g> ซึ่งสามารถตรวจสอบกิจกรรมในเครือข่ายของคุณ รวมถึงอีเมล แอป และเว็บไซต์ได้"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"คุณเชื่อมต่อกับ <xliff:g id="APPLICATION">%1$s</xliff:g> ซึ่งสามารถตรวจสอบกิจกรรมในเครือข่ายส่วนตัวของคุณ รวมถึงอีเมล แอป และเว็บไซต์ได้"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"คุณเชื่อมต่อกับ <xliff:g id="APPLICATION">%1$s</xliff:g> ซึ่งสามารถตรวจสอบกิจกรรมในเครือข่ายส่วนตัวของคุณ รวมถึงอีเมล แอป และเว็บไซต์ได้"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"โปรไฟล์งานได้รับการจัดการโดย <xliff:g id="ORGANIZATION">%1$s</xliff:g> โดยมีการเชื่อมต่อกับ <xliff:g id="APPLICATION">%2$s</xliff:g> ซึ่งสามารถตรวจสอบกิจกรรมในเครือข่าย รวมถึงอีเมล แอป และเว็บไซต์ได้\n\nสำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบ"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"โปรไฟล์งานได้รับการจัดการโดย <xliff:g id="ORGANIZATION">%1$s</xliff:g> โดยมีการเชื่อมต่อกับ <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> ซึ่งสามารถตรวจสอบกิจกรรมในเครือข่าย รวมถึงอีเมล แอป และเว็บไซต์ได้\n\nนอกจากนี้ คุณยังเชื่อมต่อกับ <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> ซึ่งสามารถตรวจสอบกิจกรรมในเครือข่ายส่วนตัวได้"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"อุปกรณ์ได้รับการจัดการโดย <xliff:g id="ORGANIZATION">%1$s</xliff:g>\n\nผู้ดูและรบบของคุณสามารถตรวจสอบและจัดการการตั้งค่า การเข้าถึงของบริษัท แอป ข้อมูลที่เชื่อมโยงกับอุปกรณ์ และข้อมูลตำแหน่งของอุปกรณ์ได้\n\nคุณมีการเชื่อมต่อกับ <xliff:g id="APPLICATION">%2$s</xliff:g> ซึ่งสามารถตรวจสอบกิจกรรมในเครือข่ายรวมถึงอีเมล แอป และเว็บไซต์ได้\n\nสำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลระบบ"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 3b00327..97e1b15 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Maaaring subaybayan ang device"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Maaaring subaybayan ang profile"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Maaaring sinusubaybayan ang network"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Maaaring sinusubaybayan ang network"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Pagsubaybay sa device"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Pagsubaybay sa Profile"</string>
<string name="monitoring_title" msgid="169206259253048106">"Pagsubaybay sa network"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Nakakonekta ka sa <xliff:g id="APPLICATION">%1$s</xliff:g>, na maaaring sumubaybay sa iyong aktibidad sa network kabilang ang mga email, app at website."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Nakakonekta ka sa <xliff:g id="APPLICATION">%1$s</xliff:g>, na maaaring sumubaybay sa iyong personal na aktibidad sa network, kabilang ang mga email, app at website."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Nakakonekta ka sa <xliff:g id="APPLICATION">%1$s</xliff:g>, na maaaring sumubaybay sa aktibidad sa iyong personal na network, kabilang ang mga email, app at website."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Ang iyong profile sa trabaho ay pinapamahalaan ng <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Nakakonekta ito sa <xliff:g id="APPLICATION">%2$s</xliff:g>, na maaaring sumubaybay sa iyong aktibidad sa network, kabilang ang mga email, app at website.\n\nPara sa higit pang impormasyon, makipag-ugnayan sa iyong administrator."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Ang iyong profile sa trabaho ay pinapamahalaan ng <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Nakakonekta ito sa <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, na maaaring sumubaybay sa iyong aktibidad sa network, kabilang ang mga email, app at website.\n\nNakakonekta ka rin sa <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, na maaaring sumubaybay sa iyong personal na aktibidad sa network."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Pinapamahalaan ang iyong device ng <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nMaaaring subaybayan at pamahalaan ng iyong administrator ang mga setting, corporate na access, app, data na nauugnay sa iyong device at ang impormasyon ng lokasyon ng iyong device.\n\nNakakonekta ka sa <xliff:g id="APPLICATION">%2$s</xliff:g>, na maaaring subaybayan ang iyong aktibidad sa network, kabilang ang mga email, app at website.\n\nPara sa higit pang impormasyon, makipag-ugnayan sa iyong administrator."</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index c1eb9cc..f336b34 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Cihaz izlenebilir"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil izlenebilir"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Ağ etkinliği izlenebilir"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Ağ etkinliği izlenebilir"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Cihaz izleme"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profil izleme"</string>
<string name="monitoring_title" msgid="169206259253048106">"Ağ izleme"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"E-postalarınız, uygulamalarınız ve web siteleriniz dahil olmak üzere ağ etkinliğinizi izleyebilen <xliff:g id="APPLICATION">%1$s</xliff:g> uygulamasına bağlısınız."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"E-postalarınız, uygulamalarınız ve web siteleriniz dahil olmak üzere kişisel ağ etkinliğinizi izleyebilen <xliff:g id="APPLICATION">%1$s</xliff:g> uygulamasına bağlısınız."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"E-postalarınız, uygulamalarınız ve web siteleriniz dahil olmak üzere kişisel ağ etkinliğinizi izleyebilen <xliff:g id="APPLICATION">%1$s</xliff:g> uygulamasına bağlısınız."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"İş profiliniz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tarafından yönetiliyor. E-postalarınız, uygulamalarınız ve web siteleriniz dahil olmak üzere ağ etkinliğinizi izleyebilen <xliff:g id="APPLICATION">%2$s</xliff:g> uygulamasına bağlı.\n\nDaha fazla bilgi için yöneticinizle iletişim kurun."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"İş profiliniz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tarafından yönetiliyor. E-postalarınız, uygulamalarınız ve web siteleriniz dahil olmak üzere ağ etkinliğinizi izleyebilen <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> uygulamasına bağlı.\n\n Ayrıca kişisel ağ etkinliğinizi izleyebilen <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> uygulamasına bağlısınız."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Cihazınız <xliff:g id="ORGANIZATION">%1$s</xliff:g> tarafından yönetiliyor.\n\nYöneticiniz; ayarları, şirket erişimini, uygulamaları, cihazınızla ilişkilendirilmiş verileri ve cihazınızın konum bilgilerini izleyebilir ve yönetebilir.\n\nE-postalarınız, uygulamalarınız ve web siteleriniz dahil olmak üzere ağ etkinliğinizi izleyebilen <xliff:g id="APPLICATION">%2$s</xliff:g> uygulamasına bağlısınız.\n\nDaha fazla bilgi edinmek için yöneticinizle iletişim kurun."</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 083777a..b760eee 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -410,6 +410,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Дії на пристрої можуть відстежуватися"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Профіль може відстежуватись"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Дії в мережі можуть відстежуватися"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Мережа може відстежуватися"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Відстеження дій на пристрої"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Відстеження профілю"</string>
<string name="monitoring_title" msgid="169206259253048106">"Відстеження дій у мережі"</string>
@@ -422,6 +423,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Ваш профіль під’єднано до додатка <xliff:g id="APPLICATION">%1$s</xliff:g>, який може відстежувати вашу активність у мережі, зокрема в електронній пошті, додатках і на веб-сайтах."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Ваш профіль під’єднано до додатка <xliff:g id="APPLICATION">%1$s</xliff:g>, який може відстежувати вашу особисту активність у мережі, зокрема в електронній пошті, додатках і на веб-сайтах."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Ваш профіль під’єднано до додатка <xliff:g id="APPLICATION">%1$s</xliff:g>, який може відстежувати вашу особисту активність у мережі, зокрема доступ до електронної пошти, додатків і веб-сайтів."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Вашим робочим профілем керує <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Профіль під’єднано до додатка <xliff:g id="APPLICATION">%2$s</xliff:g>, який може відстежувати вашу робочу активність у мережі, зокрема в електронній пошті, додатках і на веб-сайтах.\n\nЗв’яжіться з адміністратором, щоб дізнатися більше."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Вашим робочим профілем керує <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Профіль під’єднано до додатка <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, який може відстежувати вашу робочу активність у мережі, зокрема в електронній пошті, додатках і на веб-сайтах.\n\nВаш профіль також під’єднано до додатка <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, який може відстежувати вашу особисту активність у мережі."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Вашим пристроєм керує організація <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nАдміністратор може відстежувати та контролювати налаштування, корпоративний доступ, додатки, геодані й інші дані, пов’язані з вашим пристроєм.\n\nВаш профіль під’єднано до додатка <xliff:g id="APPLICATION">%2$s</xliff:g>, який може відстежувати вашу активність у мережі, зокрема в електронній пошті, додатках і на веб-сайтах.\n\nЗв’яжіться з адміністратором, щоб дізнатися більше."</string>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml
index 93f7c76..de1c5fa 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"آلہ کو مانیٹر کیا جا سکتا ہے"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"پروفائل کو مانیٹر کیا جا سکتا ہے"</string>
<string name="vpn_footer" msgid="2388611096129106812">"نیٹ ورک کو مانیٹر کیا جا سکتا ہے"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"نیٹ ورک کو شاید مانیٹر کیا جائے"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"آلہ کو مانیٹر کرنا"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"پروفائل کو مانیٹر کرنا"</string>
<string name="monitoring_title" msgid="169206259253048106">"نیٹ ورک کو مانیٹر کرنا"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"آپ <xliff:g id="APPLICATION">%1$s</xliff:g> سے منسلک ہیں، جو ای میلز، ایپس اور ویب سائٹس سمیت آپ کے نیٹ ورک کی سرگرمی مانیٹر کر سکتی ہے۔"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"آپ <xliff:g id="APPLICATION">%1$s</xliff:g> سے منسلک ہیں، جو آپ کے نجی نیٹ ورک کی سرگرمی سمیت ای میلز، ایپس اور ویب سائٹس مانیٹر کر سکتی ہے۔"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"آپ <xliff:g id="APPLICATION">%1$s</xliff:g> سے منسلک ہیں، جو ای میلز، ایپس اور ویب سائٹس سمیت آپ کے نجی نیٹ ورک کی سرگرمی مانیٹر کر سکتی ہے۔"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"آپ کا دفتری پروفائل <xliff:g id="ORGANIZATION">%1$s</xliff:g> کے زیر انتظام ہے۔ یہ <xliff:g id="APPLICATION">%2$s</xliff:g> سے منسلک ہے، جو ای میلز، ایپس اور ویب سائٹس سمیت آپ کے نیٹ ورک کی سرگرمی مانیٹر کر سکتی ہے۔\n\nمزید معلومات کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"آپ کا دفتری پروفائل <xliff:g id="ORGANIZATION">%1$s</xliff:g> کے زیر انتظام ہے۔ یہ <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> سے منسلک ہے، جو ای میلز، ایپس اور ویب سائٹس سمیت آپ کے نیٹ ورک کی سرگرمی مانیٹر کر سکتی ہے۔\n\nآپ <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> سے بھی منسلک ہیں، جو آپ کے نجی نیٹ ورک کی سرگرمی کو مانیٹر کر سکتی ہے۔"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"آپ کا آلہ <xliff:g id="ORGANIZATION">%1$s</xliff:g> کے زیر انتظام ہے۔\n\nآپ کا منتظم ترتیبات، کارپوریٹ رسائی، ایپس، آپ کے آلہ سے وابستہ ڈیٹا اور آپ کے آلہ کے مقام کی معلومات کو مانیٹر اور ان کا نظم کر سکتا ہے۔\n\nآپ <xliff:g id="APPLICATION">%2$s</xliff:g> سے منسلک ہیں، جو ای میلز، ایپس اور ویب سائٹس سمیت آپ کے نیٹ ورک کی سرگرمی مانیٹر کر سکتی ہے۔\n\nمزید معلومات کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml
index 77ab662..4e054cb 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Qurilma kuzatilishi mumkin"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Profil kuzatilishi mumkin"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Tarmoqni kuzatish mumkin"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Tarmoq kuzatilishi mumkin"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Qurilmalarni kuzatish"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profilni kuzatish"</string>
<string name="monitoring_title" msgid="169206259253048106">"Tarmoqlarni kuzatish"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"<xliff:g id="APPLICATION">%1$s</xliff:g> ilovasi ishga tushirilgan. U internetdagi harakatlaringiz, jumladan, e-pochta, ilova va veb-saytlardagi xatti-harakatlaringizni kuzatishi mumkin."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"<xliff:g id="APPLICATION">%1$s</xliff:g> ilovasi ishga tushirilgan. U internetdagi harakatlaringiz, jumladan, e-pochta, ilova va veb-saytlardagi xatti-harakatlaringizni kuzatishi mumkin."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"<xliff:g id="APPLICATION">%1$s</xliff:g> ilovasi ishga tushirilgan. U internetdagi harakatlaringiz, jumladan, e-pochta, ilova va veb-saytlardagi xatti-harakatlaringizni kuzatishi mumkin."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Sizning ishchi profilingiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi. <xliff:g id="APPLICATION">%2$s</xliff:g> ilovasi ish tarmog‘idagi harakatlaringizni, jumladan, e-pochta, ilova va veb-saytlardagi xatti-harakatlaringizni kuzatishi mumkin.\n\nBatafsil ma’lumot olish uchun administrator bilan bog‘laning."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Sizning ishchi profilingiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi. <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> ilovasi ish tarmog‘idagi harakatlaringizni, jumladan, e-pochta, ilova va veb-saytlardagi xatti-harakatlaringizni kuzatishi mumkin.\n\nShuningdek, <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> ilovasi ham shaxsiy tarmoqdagi harakatlaringizni kuzatishi mumkin."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Qurilmangiz <xliff:g id="ORGANIZATION">%1$s</xliff:g> tomonidan boshqariladi.\n\nAdministrator sozlamalar, korporativ kirish huquqi, ilovalar, qurilmangizdagi ma’lumotlar, jumladan, joylashuv ma’lumotlarini boshqarishi mumkin.\n\nShuningdek, siz <xliff:g id="APPLICATION">%2$s</xliff:g> ilovasiga ham ulangansiz. Ushbu ilova internetdagi harakatlaringizni, jumladan, e-pochta, ilovalar va veb-saytlar bilan ishlashingizni kuzata oladi.\n\nBatafsil ma’lumot olish uchun administrator bilan bog‘laning."</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index a3747dc..775f7ff 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Thiết bị có thể được giám sát"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Hồ sơ có thể được giám sát"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Mạng có thể được giám sát"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Mạng có thể được giám sát"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Giám sát thiết bị"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Giám sát hồ sơ"</string>
<string name="monitoring_title" msgid="169206259253048106">"Giám sát mạng"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Bạn đang kết nối với <xliff:g id="APPLICATION">%1$s</xliff:g>. Ứng dụng này có thể giám sát hoạt động mạng của bạn bao gồm email, ứng dụng và trang web."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Bạn đang kết nối với <xliff:g id="APPLICATION">%1$s</xliff:g>. Ứng dụng này có thể giám sát hoạt động mạng cá nhân của bạn bao gồm email, ứng dụng và trang web."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Bạn đang kết nối với <xliff:g id="APPLICATION">%1$s</xliff:g>. Ứng dụng này có thể giám sát hoạt động mạng cá nhân của bạn bao gồm email, ứng dụng và trang web."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Hồ sơ công việc của bạn được quản lý bởi <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Hồ sơ được kết nối với <xliff:g id="APPLICATION">%2$s</xliff:g>, ứng dụng này có thể giám sát hoạt động mạng cơ quan của bạn, bao gồm email, ứng dụng và trang web.\n\nĐể biết thêm thông tin, hãy liên hệ với quản trị viên của bạn."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Hồ sơ công việc của bạn được quản lý bởi <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Hồ sơ được kết nối với <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, ứng dụng này có thể giám sát hoạt động mạng cơ quan của bạn, bao gồm email, ứng dụng và trang web.\n\nBạn cũng được kết nối với <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, có thể giám sát hoạt động mạng cá nhân của bạn."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Thiết bị của bạn được quản lý bởi <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nQuản trị viên có thể giám sát và quản lý cài đặt, quyền truy cập của công ty, ứng dụng, dữ liệu được liên kết với thiết bị của bạn và thông tin về vị trí của thiết bị.\n\nBạn được kết nối với <xliff:g id="APPLICATION">%2$s</xliff:g>. Ứng dụng này có thể giám sát hoạt động mạng của bạn, bao gồm email, ứng dụng và trang web.\n\nĐể biết thêm thông tin, hãy liên hệ với quản trị viên của bạn."</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index c6401d6..c25acac 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"设备可能会受到监控"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"资料可能会受到监控"</string>
<string name="vpn_footer" msgid="2388611096129106812">"网络可能会受到监控"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"网络可能会受到监控"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"设备监测"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"资料监控"</string>
<string name="monitoring_title" msgid="169206259253048106">"网络监控"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"您已连接到<xliff:g id="APPLICATION">%1$s</xliff:g>,该应用可以监控您的网络活动,包括收发电子邮件、使用应用和浏览网站。"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"您已连接到<xliff:g id="APPLICATION">%1$s</xliff:g>,该应用可以监控您的个人网络活动,包括收发电子邮件、使用应用和浏览网站。"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"您已连接到<xliff:g id="APPLICATION">%1$s</xliff:g>,该应用可以监控您的个人网络活动,包括收发电子邮件、使用应用和浏览网站。"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"您的工作资料由以下单位管理:<xliff:g id="ORGANIZATION">%1$s</xliff:g>。您已连接到<xliff:g id="APPLICATION">%2$s</xliff:g>,该应用可以监控您的工作网络活动,包括收发电子邮件、使用应用和浏览网站。\n\n若要了解详情,请与您单位的管理员联系。"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"您的工作资料由以下单位管理:<xliff:g id="ORGANIZATION">%1$s</xliff:g>。您已连接到<xliff:g id="APPLICATION_WORK">%2$s</xliff:g>,该应用可以监控您的工作网络活动,包括收发电子邮件、使用应用和浏览网站。\n\n此外,您还连接到了<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>,该应用可以监控您的个人网络活动。"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"您的设备由以下单位管理:<xliff:g id="ORGANIZATION">%1$s</xliff:g>。\n\n您单位的管理员可以监控和管理与此设备相关的设置、企业权限、应用、数据以及设备位置信息。\n\n您已连接到<xliff:g id="APPLICATION">%2$s</xliff:g>,该应用可以监控您的网络活动,包括收发电子邮件、使用应用和浏览网站。\n\n若要了解详情,请与您单位的管理员联系。"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 8be877d..7cd2d5d 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -406,6 +406,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"裝置可能會受到監控"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"個人檔案可能受到監控"</string>
<string name="vpn_footer" msgid="2388611096129106812">"網絡可能會受到監控"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"網絡可能會受到監控"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"裝置監控"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"個人檔案監控"</string>
<string name="monitoring_title" msgid="169206259253048106">"網絡監控"</string>
@@ -418,6 +419,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"您已連結至<xliff:g id="APPLICATION">%1$s</xliff:g> ,它能夠監控您的網絡活動,包括電郵、應用程式和網站。"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"您已連結至<xliff:g id="APPLICATION">%1$s</xliff:g>,它能夠監控您的個人網絡活動,包括電郵、應用程式和網站。"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"您已連接至「<xliff:g id="APPLICATION">%1$s</xliff:g>」,此應用程式可以監控您的個人網絡活動,包括電郵、應用程式及網站。"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"您的工作設定檔由<xliff:g id="ORGANIZATION">%1$s</xliff:g>管理。它已連結至<xliff:g id="APPLICATION">%2$s</xliff:g>,能夠監控您的工作網絡活動,包括電郵、應用程式和網站。\n\n如需進一步資訊,請聯絡您的管理員。"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"您的工作設定檔由<xliff:g id="ORGANIZATION">%1$s</xliff:g>管理。它已連結至<xliff:g id="APPLICATION_WORK">%2$s</xliff:g>,能夠監控您的工作網絡活動,包括電郵、應用程式和網站。\n\n此外,您亦連結至<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>,因此它亦能夠監控您的個人網絡活動。"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"您的裝置由 <xliff:g id="ORGANIZATION">%1$s</xliff:g> 管理。\n\n您的管理員可以監控及管理您裝置的設定、企業存取、應用程式、資料及位置資訊。\n\n此外,您的裝置連至 <xliff:g id="APPLICATION">%2$s</xliff:g>,它能監控您的網絡活動,包括電郵、應用程式及網站。\n\n如需更多資訊,請聯絡您的管理員。"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index e838b71..d7f6f70 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"裝置可能會受到監控"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"設定檔可能會受到監控"</string>
<string name="vpn_footer" msgid="2388611096129106812">"網路可能會受到監控"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"網路可能會受到監控"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"裝置監控"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"設定檔監控"</string>
<string name="monitoring_title" msgid="169206259253048106">"網路監控"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"由於您已連線至 <xliff:g id="APPLICATION">%1$s</xliff:g>,您的網路活動也會受到這個應用程式監控,包括收發電子郵件、使用應用程式和瀏覽網站。"</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"由於您已連線至 <xliff:g id="APPLICATION">%1$s</xliff:g>,您的個人網路活動也會受到這個應用程式監控,包括收發電子郵件、使用應用程式和瀏覽網站。"</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"由於你已連結至「<xliff:g id="APPLICATION">%1$s</xliff:g>」,你的個人網路活動 (包括收發電子郵件、使用應用程式及瀏覽網站) 可能會受到這個應用程式監控。"</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"您的 Work 設定檔是由下列機構管理:<xliff:g id="ORGANIZATION">%1$s</xliff:g>。由於設定檔已連線至 <xliff:g id="APPLICATION">%2$s</xliff:g>,您的工作網路活動也會受到這個應用程式監控,包括收發電子郵件、使用應用程式和瀏覽網站。\n\n詳情請洽您的管理員。"</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"您的 Work 設定檔是由下列機構管理:<xliff:g id="ORGANIZATION">%1$s</xliff:g>。由於設定檔已連線至 <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>,您的工作網路活動也會受到這個應用程式監控,包括收發電子郵件、使用應用程式和瀏覽網站。\n\n同時由於您也連線至<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>,您的個人網路活動也會受到這個應用程式監控。"</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"您的裝置由下列機構管理:<xliff:g id="ORGANIZATION">%1$s</xliff:g>。\n\n您的管理員可以監控及管理與裝置相關的設定、企業網路存取權、應用程式和資料,以及裝置的位置資訊。\n\n由於您的裝置已連線至 <xliff:g id="APPLICATION">%2$s</xliff:g>,您的網路活動也會受到這個應用程式監控,包括收發電子郵件、使用應用程式和瀏覽網站。\n\n如需詳細資訊,請洽您的管理員。"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 3ec6ee8..72fb812 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -404,6 +404,7 @@
<string name="device_owned_footer" msgid="3802752663326030053">"Idivayisi inganganyelwa"</string>
<string name="profile_owned_footer" msgid="8021888108553696069">"Iphrofayela ingaqashwa"</string>
<string name="vpn_footer" msgid="2388611096129106812">"Inethiwekhi kungenzeka iqashiwe"</string>
+ <string name="branded_vpn_footer" msgid="2168111859226496230">"Inethiwekhi kungenzeka iqashiwe"</string>
<string name="monitoring_title_device_owned" msgid="7121079311903859610">"Ukwengamela idivayisi"</string>
<string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Ukuqapha iphrofayela"</string>
<string name="monitoring_title" msgid="169206259253048106">"Ukuqashwa kwenethiwekhi"</string>
@@ -416,6 +417,7 @@
<string name="legacy_vpn_name" msgid="6604123105765737830">"I-VPN"</string>
<string name="monitoring_description_app" msgid="6259179342284742878">"Uxhumeke ku-<xliff:g id="APPLICATION">%1$s</xliff:g>, engahlola umsebenzi wakho wenethiwekhi ofaka ama-imeyili, izinhlelo zokusebenza, namawebhusayithi."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"Uxhumeke ku-<xliff:g id="APPLICATION">%1$s</xliff:g>, engahlola umsebenzi wenethiwekhi yakho yomuntu siqu, ofaka ama-imeyili, izinhlelo zokusebenza, namawebhusayithi."</string>
+ <string name="branded_monitoring_description_app_personal" msgid="2669518213949202599">"Uxhumeke ku-<xliff:g id="APPLICATION">%1$s</xliff:g>, engaqapha umsebenzi wakho womuntu siqu wenethiwekhi, ofaka ama-imeyili, izinhlelo zokusebenza, namawebhusayithi."</string>
<string name="monitoring_description_app_work" msgid="1754325860918060897">"Iphrofayela yakho yomsebenzi iphethwe yi-<xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ixhumeke ku-<xliff:g id="APPLICATION">%2$s</xliff:g>, engahlola umsebenzi wenethiwekhi yakho yokusebenza, ofaka ama-imeyili, izinhlelo zokusebenza, namawebhusayithi.\n\nUkuze uthole olunye ulwazi, xhumana nomqondisi wakho."</string>
<string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Iphrofayela yakho yomsebenzi iphethwe yi-<xliff:g id="ORGANIZATION">%1$s</xliff:g>. Ixhumeke ku-<xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, engahlola umsebenzi wenethiwekhi yakho yomsebenzi, ofaka ama-imeyili, izinhlelo zokusebenza namawebhusayithi.\n\nFuthi uxhumeke ku-<xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, engahlola umsebenzi wenethiwekhi yakho yomuntu siqu."</string>
<string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Idivayisi yakho iphethwe yi-<xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nUmqondisi wakho angaqaphela aphinde aphathe izilungiselelo, ukufinyelela kwezinkampani, izinhlelo zokusebenza, idatha ehlotshaniswa nedivayisi yakho, nolwazi lendawo yedivayisi yakho.\n\nUxhumeke ku-<xliff:g id="APPLICATION">%2$s</xliff:g>, engaqaphela umsebenzi wakho wenethiwekhi, ofaka ama-imeyili, izinhlelo zokusebenza namawebhusayithi.\n\nUkuze uthole olunye ulwazi, xhumana nomqondisi wakho."</string>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 1e3b841..c659acf 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -217,7 +217,7 @@
<style name="Animation.StatusBar">
</style>
- <style name="systemui_theme" parent="@android:style/Theme.DeviceDefault" />
+ <style name="systemui_theme" parent="@*android:style/Theme.DeviceDefault.Settings.Dark" />
<style name="systemui_theme_remote_input" parent="@android:style/Theme.DeviceDefault.Light">
<item name="android:colorAccent">@color/remote_input_accent</item>
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 4449435..6103355 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -964,6 +964,7 @@
* if there is a secure lock pattern.
*/
public void onDreamingStarted() {
+ KeyguardUpdateMonitor.getInstance(mContext).dispatchDreamingStarted();
synchronized (this) {
if (mDeviceInteractive
&& mLockPatternUtils.isSecure(KeyguardUpdateMonitor.getCurrentUser())) {
@@ -976,6 +977,7 @@
* A dream stopped.
*/
public void onDreamingStopped() {
+ KeyguardUpdateMonitor.getInstance(mContext).dispatchDreamingStopped();
synchronized (this) {
if (mDeviceInteractive) {
cancelDoKeyguardLaterLocked();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/DismissView.java b/packages/SystemUI/src/com/android/systemui/statusbar/DismissView.java
index 2045ec8..1d7bede 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/DismissView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/DismissView.java
@@ -56,6 +56,8 @@
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDismissButton.setText(R.string.clear_all_notifications_text);
+ mDismissButton.setContentDescription(
+ mContext.getString(R.string.accessibility_clear_all));
}
public boolean isButtonVisible() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
index 88f37a3..8b4225a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
@@ -174,7 +174,10 @@
private void drawBackgroundCircle(Canvas canvas) {
if (mCircleRadius > 0 || mFinishing) {
- if (mFinishing && mSupportHardware) {
+ if (mFinishing && mSupportHardware && mHwCenterX != null) {
+ // Our hardware drawing proparties can be null if the finishing started but we have
+ // never drawn before. In that case we are not doing a render thread animation
+ // anyway, so we need to use the normal drawing.
DisplayListCanvas displayListCanvas = (DisplayListCanvas) canvas;
displayListCanvas.drawCircle(mHwCenterX, mHwCenterY, mHwCircleRadius,
mHwCirclePaint);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
index 9fd09d9..78e56c0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
@@ -205,7 +205,7 @@
&& MeasureSpec.getMode(widthMeasureSpec) != MeasureSpec.UNSPECIFIED) {
singleLineWidthSpec = MeasureSpec.makeMeasureSpec(
width - mSingleLineWidthIndention + mSingleLineView.getPaddingEnd(),
- MeasureSpec.AT_MOST);
+ MeasureSpec.EXACTLY);
}
mSingleLineView.measure(singleLineWidthSpec,
MeasureSpec.makeMeasureSpec(maxSize, MeasureSpec.AT_MOST));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index 93ed139..41b0bb2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -308,6 +308,7 @@
super.setVisibility(visibility);
if (visibility != View.VISIBLE) {
mSystemIconsSuperContainer.animate().cancel();
+ mSystemIconsSuperContainer.setTranslationX(0);
mMultiUserSwitch.animate().cancel();
mMultiUserSwitch.setAlpha(1f);
} else {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index b1bea02..9251f32 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -664,6 +664,15 @@
private boolean mNoAnimationOnNextBarModeChange;
private FalsingManager mFalsingManager;
+ private KeyguardUpdateMonitorCallback mUpdateCallback = new KeyguardUpdateMonitorCallback() {
+ @Override
+ public void onDreamingStateChanged(boolean dreaming) {
+ if (dreaming) {
+ maybeEscalateHeadsUp();
+ }
+ }
+ };
+
@Override
public void start() {
mDisplay = ((WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE))
@@ -701,8 +710,8 @@
mUnlockMethodCache.addListener(this);
startKeyguard();
+ KeyguardUpdateMonitor.getInstance(mContext).registerCallback(mUpdateCallback);
mDozeServiceHost = new DozeServiceHost();
- KeyguardUpdateMonitor.getInstance(mContext).registerCallback(mDozeServiceHost);
putComponent(DozeHost.class, mDozeServiceHost);
putComponent(PhoneStatusBar.class, this);
@@ -4445,6 +4454,7 @@
}
if (state == StatusBarState.KEYGUARD) {
removeRemoteInputEntriesKeptUntilCollapsed();
+ maybeEscalateHeadsUp();
}
mState = state;
mGroupManager.setStatusBarState(state);
@@ -4964,7 +4974,7 @@
}
}
- private final class DozeServiceHost extends KeyguardUpdateMonitorCallback implements DozeHost {
+ private final class DozeServiceHost implements DozeHost {
// Amount of time to allow to update the time shown on the screen before releasing
// the wakelock. This timeout is design to compensate for the fact that we don't
// currently have a way to know when time display contents have actually been
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 73a95c2..35e084d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -176,7 +176,7 @@
mSkipFirstFrame = skipFirstFrame;
mOnAnimationFinished = onAnimationFinished;
- if (mKeyguardUpdateMonitor.isUserUnlocked()) {
+ if (!mKeyguardUpdateMonitor.needsSlowUnlockTransition()) {
scheduleUpdate();
// No need to wait for the next frame to be drawn for this case - onPreDraw will execute
@@ -241,9 +241,9 @@
}
private float getScrimInFrontAlpha() {
- return mKeyguardUpdateMonitor.isUserUnlocked()
- ? SCRIM_IN_FRONT_ALPHA
- : SCRIM_IN_FRONT_ALPHA_LOCKED;
+ return mKeyguardUpdateMonitor.needsSlowUnlockTransition()
+ ? SCRIM_IN_FRONT_ALPHA_LOCKED
+ : SCRIM_IN_FRONT_ALPHA;
}
private void scheduleUpdate() {
if (mUpdatePending) return;
@@ -405,7 +405,7 @@
}
private Interpolator getInterpolator() {
- if (mAnimateKeyguardFadingOut && !mKeyguardUpdateMonitor.isUserUnlocked()) {
+ if (mAnimateKeyguardFadingOut && mKeyguardUpdateMonitor.needsSlowUnlockTransition()) {
return KEYGUARD_FADE_OUT_INTERPOLATOR_LOCKED;
} else if (mAnimateKeyguardFadingOut) {
return KEYGUARD_FADE_OUT_INTERPOLATOR;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index def4bc3..664e103 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -291,7 +291,7 @@
public void hide(long startTime, long fadeoutDuration) {
mShowing = false;
- if (!KeyguardUpdateMonitor.getInstance(mContext).isUserUnlocked()) {
+ if (KeyguardUpdateMonitor.getInstance(mContext).needsSlowUnlockTransition()) {
fadeoutDuration = KEYGUARD_DISMISS_DURATION_LOCKED;
}
long uptimeMillis = SystemClock.uptimeMillis();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
index d3ae549..f6c0942 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
@@ -381,7 +381,7 @@
}
public void onComputeInternalInsets(ViewTreeObserver.InternalInsetsInfo info) {
- if (mIsExpanded) {
+ if (mIsExpanded || mBar.isBouncerShowing()) {
// The touchable region is always the full area when expanded
return;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
index cdd452f..ab2a8bc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
@@ -38,6 +38,7 @@
import android.view.ViewAnimationUtils;
import android.view.ViewGroup;
import android.view.ViewParent;
+import android.view.accessibility.AccessibilityEvent;
import android.view.inputmethod.CompletionInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
@@ -86,6 +87,8 @@
private int mRevealCy;
private int mRevealR;
+ private boolean mResetting;
+
public RemoteInputView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@@ -281,6 +284,8 @@
}
private void reset() {
+ mResetting = true;
+
mEditText.getText().clear();
mEditText.setEnabled(true);
mSendButton.setVisibility(VISIBLE);
@@ -288,6 +293,19 @@
mController.removeSpinning(mEntry.key);
updateSendButton();
onDefocus(false /* animate */);
+
+ mResetting = false;
+ }
+
+ @Override
+ public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) {
+ if (mResetting && child == mEditText) {
+ // Suppress text events if it happens during resetting. Ideally this would be
+ // suppressed by the text view not being shown, but that doesn't work here because it
+ // needs to stay visible for the animation.
+ return false;
+ }
+ return super.onRequestSendAccessibilityEvent(child, event);
}
private void updateSendButton() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
index 3c9373b..d7920a9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
@@ -123,8 +123,10 @@
mDividers.get(i).layout(0, 0, getWidth(), mDividerHeight);
}
if (mOverflowNumber != null) {
- mOverflowNumber.layout(getWidth() - mOverflowNumber.getMeasuredWidth(), 0, getWidth(),
- mOverflowNumber.getMeasuredHeight());
+ boolean isRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
+ int left = (isRtl ? 0 : getWidth() - mOverflowNumber.getMeasuredWidth());
+ int right = left + mOverflowNumber.getMeasuredWidth();
+ mOverflowNumber.layout(left, 0, right, mOverflowNumber.getMeasuredHeight());
}
if (mNotificationHeader != null) {
mNotificationHeader.layout(0, 0, mNotificationHeader.getMeasuredWidth(),
diff --git a/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java b/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java
index 5e4854c..3f8650a 100644
--- a/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java
+++ b/packages/SystemUI/src/com/android/systemui/tv/pip/PipManager.java
@@ -78,6 +78,18 @@
sSettingsPackageAndClassNamePairList.add(new Pair<String, String>(
"com.google.android.leanbacklauncher",
"com.google.android.leanbacklauncher.settings.HomeScreenSettingsActivity"));
+ sSettingsPackageAndClassNamePairList.add(new Pair<String, String>(
+ "com.google.android.apps.mediashell",
+ "com.google.android.apps.mediashell.settings.CastSettingsActivity"));
+ sSettingsPackageAndClassNamePairList.add(new Pair<String, String>(
+ "com.google.android.katniss",
+ "com.google.android.katniss.setting.SpeechSettingsActivity"));
+ sSettingsPackageAndClassNamePairList.add(new Pair<String, String>(
+ "com.google.android.katniss",
+ "com.google.android.katniss.setting.SearchSettingsActivity"));
+ sSettingsPackageAndClassNamePairList.add(new Pair<String, String>(
+ "com.google.android.gsf.notouch",
+ "com.google.android.gsf.notouch.UsageDiagnosticsSettingActivity"));
}
/**
diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java
index 8c5887f..89fdfaf 100644
--- a/services/core/java/com/android/server/BluetoothManagerService.java
+++ b/services/core/java/com/android/server/BluetoothManagerService.java
@@ -293,7 +293,7 @@
*/
private final boolean isBluetoothPersistedStateOn() {
return Settings.Global.getInt(mContentResolver,
- Settings.Global.BLUETOOTH_ON, 0) != BLUETOOTH_OFF;
+ Settings.Global.BLUETOOTH_ON, BLUETOOTH_ON_BLUETOOTH) != BLUETOOTH_OFF;
}
/**
@@ -301,7 +301,7 @@
*/
private final boolean isBluetoothPersistedStateOnBluetooth() {
return Settings.Global.getInt(mContentResolver,
- Settings.Global.BLUETOOTH_ON, 0) == BLUETOOTH_ON_BLUETOOTH;
+ Settings.Global.BLUETOOTH_ON, BLUETOOTH_ON_BLUETOOTH) == BLUETOOTH_ON_BLUETOOTH;
}
/**
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 58431c8..6b2d9df 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -24,6 +24,7 @@
import static android.net.ConnectivityManager.getNetworkTypeName;
import static android.net.ConnectivityManager.isNetworkTypeValid;
import static android.net.NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_FOREGROUND;
import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET;
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED;
@@ -262,6 +263,11 @@
DONT_REAP
};
+ private enum UnneededFor {
+ LINGER, // Determine whether this network is unneeded and should be lingered.
+ TEARDOWN, // Determine whether this network is unneeded and should be torn down.
+ }
+
/**
* used internally to change our mobile data enabled flag
*/
@@ -691,13 +697,13 @@
if (DBG) log("ConnectivityService starting up");
mMetricsLog = logger;
- mDefaultRequest = createInternetRequestForTransport(-1);
+ mDefaultRequest = createInternetRequestForTransport(-1, NetworkRequest.Type.REQUEST);
NetworkRequestInfo defaultNRI = new NetworkRequestInfo(null, mDefaultRequest, new Binder());
mNetworkRequests.put(mDefaultRequest, defaultNRI);
mNetworkRequestInfoLogs.log("REGISTER " + defaultNRI);
mDefaultMobileDataRequest = createInternetRequestForTransport(
- NetworkCapabilities.TRANSPORT_CELLULAR);
+ NetworkCapabilities.TRANSPORT_CELLULAR, NetworkRequest.Type.BACKGROUND_REQUEST);
mHandlerThread = createHandlerThread();
mHandlerThread.start();
@@ -848,15 +854,15 @@
mLingerMonitor = new LingerMonitor(mContext, mNotifier, dailyLimit, rateLimit);
}
- private NetworkRequest createInternetRequestForTransport(int transportType) {
+ private NetworkRequest createInternetRequestForTransport(
+ int transportType, NetworkRequest.Type type) {
NetworkCapabilities netCap = new NetworkCapabilities();
netCap.addCapability(NET_CAPABILITY_INTERNET);
netCap.addCapability(NET_CAPABILITY_NOT_RESTRICTED);
if (transportType > -1) {
netCap.addTransportType(transportType);
}
- return new NetworkRequest(netCap, TYPE_NONE, nextNetworkRequestId(),
- NetworkRequest.Type.REQUEST);
+ return new NetworkRequest(netCap, TYPE_NONE, nextNetworkRequestId(), type);
}
// Used only for testing.
@@ -1970,8 +1976,12 @@
for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
pw.println(nai.toString());
pw.increaseIndent();
- pw.println(String.format("Requests: %d request/%d total",
- nai.numRequestNetworkRequests(), nai.numNetworkRequests()));
+ pw.println(String.format(
+ "Requests: REQUEST:%d LISTEN:%d BACKGROUND_REQUEST:%d total:%d",
+ nai.numForegroundNetworkRequests(),
+ nai.numNetworkRequests() - nai.numRequestNetworkRequests(),
+ nai.numBackgroundNetworkRequests(),
+ nai.numNetworkRequests()));
pw.increaseIndent();
for (int i = 0; i < nai.numNetworkRequests(); i++) {
pw.println(nai.requestAt(i).toString());
@@ -2130,14 +2140,10 @@
case NetworkAgent.EVENT_NETWORK_CAPABILITIES_CHANGED: {
final NetworkCapabilities networkCapabilities = (NetworkCapabilities) msg.obj;
if (networkCapabilities.hasCapability(NET_CAPABILITY_CAPTIVE_PORTAL) ||
- networkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED)) {
+ networkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED) ||
+ networkCapabilities.hasCapability(NET_CAPABILITY_FOREGROUND)) {
Slog.wtf(TAG, "BUG: " + nai + " has CS-managed capability.");
}
- if (nai.everConnected && !nai.networkCapabilities.equalImmutableCapabilities(
- networkCapabilities)) {
- Slog.wtf(TAG, "BUG: " + nai + " changed immutable capabilities: "
- + nai.networkCapabilities + " -> " + networkCapabilities);
- }
updateCapabilities(nai, networkCapabilities);
break;
}
@@ -2292,15 +2298,13 @@
// 3. If this network is unneeded (which implies it is not lingering), and there is at least
// one lingered request, start lingering.
nai.updateLingerTimer();
- if (nai.isLingering() && nai.numRequestNetworkRequests() > 0) {
+ if (nai.isLingering() && nai.numForegroundNetworkRequests() > 0) {
if (DBG) log("Unlingering " + nai.name());
nai.unlinger();
logNetworkEvent(nai, NetworkEvent.NETWORK_UNLINGER);
- } else if (unneeded(nai) && nai.getLingerExpiry() > 0) { // unneeded() calls isLingering()
+ } else if (unneeded(nai, UnneededFor.LINGER) && nai.getLingerExpiry() > 0) {
int lingerTime = (int) (nai.getLingerExpiry() - now);
- if (DBG) {
- Log.d(TAG, "Lingering " + nai.name() + " for " + lingerTime + "ms");
- }
+ if (DBG) log("Lingering " + nai.name() + " for " + lingerTime + "ms");
nai.linger();
logNetworkEvent(nai, NetworkEvent.NETWORK_LINGER);
notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_LOSING, lingerTime);
@@ -2479,15 +2483,37 @@
}
}
- // Is nai unneeded by all NetworkRequests (and should be disconnected)?
- // This is whether it is satisfying any NetworkRequests or were it to become validated,
- // would it have a chance of satisfying any NetworkRequests.
- private boolean unneeded(NetworkAgentInfo nai) {
- if (!nai.everConnected || nai.isVPN() ||
- nai.isLingering() || nai.numRequestNetworkRequests() > 0) {
+ // Determines whether the network is the best (or could become the best, if it validated), for
+ // none of a particular type of NetworkRequests. The type of NetworkRequests considered depends
+ // on the value of reason:
+ //
+ // - UnneededFor.TEARDOWN: non-listen NetworkRequests. If a network is unneeded for this reason,
+ // then it should be torn down.
+ // - UnneededFor.LINGER: foreground NetworkRequests. If a network is unneeded for this reason,
+ // then it should be lingered.
+ private boolean unneeded(NetworkAgentInfo nai, UnneededFor reason) {
+ final int numRequests;
+ switch (reason) {
+ case TEARDOWN:
+ numRequests = nai.numRequestNetworkRequests();
+ break;
+ case LINGER:
+ numRequests = nai.numForegroundNetworkRequests();
+ break;
+ default:
+ Slog.wtf(TAG, "Invalid reason. Cannot happen.");
+ return true;
+ }
+
+ if (!nai.everConnected || nai.isVPN() || nai.isLingering() || numRequests > 0) {
return false;
}
for (NetworkRequestInfo nri : mNetworkRequests.values()) {
+ if (reason == UnneededFor.LINGER && nri.request.isBackgroundRequest()) {
+ // Background requests don't affect lingering.
+ continue;
+ }
+
// If this Network is already the highest scoring Network for a request, or if
// there is hope for it to become one if it validated, then it is needed.
if (nri.request.isRequest() && nai.satisfies(nri.request) &&
@@ -2575,6 +2601,7 @@
boolean wasKept = false;
NetworkAgentInfo nai = mNetworkForRequestId.get(nri.request.requestId);
if (nai != null) {
+ boolean wasBackgroundNetwork = nai.isBackgroundNetwork();
nai.removeRequest(nri.request.requestId);
if (VDBG) {
log(" Removing from current network " + nai.name() +
@@ -2583,13 +2610,17 @@
// If there are still lingered requests on this network, don't tear it down,
// but resume lingering instead.
updateLingerState(nai, SystemClock.elapsedRealtime());
- if (unneeded(nai)) {
+ if (unneeded(nai, UnneededFor.TEARDOWN)) {
if (DBG) log("no live requests for " + nai.name() + "; disconnecting");
teardownUnneededNetwork(nai);
} else {
wasKept = true;
}
mNetworkForRequestId.remove(nri.request.requestId);
+ if (!wasBackgroundNetwork && nai.isBackgroundNetwork()) {
+ // Went from foreground to background.
+ updateCapabilities(nai, nai.networkCapabilities);
+ }
}
// TODO: remove this code once we know that the Slog.wtf is never hit.
@@ -4463,6 +4494,12 @@
* @param networkCapabilities the new network capabilities.
*/
private void updateCapabilities(NetworkAgentInfo nai, NetworkCapabilities networkCapabilities) {
+ if (nai.everConnected && !nai.networkCapabilities.equalImmutableCapabilities(
+ networkCapabilities)) {
+ Slog.wtf(TAG, "BUG: " + nai + " changed immutable capabilities: "
+ + nai.networkCapabilities + " -> " + networkCapabilities);
+ }
+
// Don't modify caller's NetworkCapabilities.
networkCapabilities = new NetworkCapabilities(networkCapabilities);
if (nai.lastValidated) {
@@ -4475,21 +4512,40 @@
} else {
networkCapabilities.removeCapability(NET_CAPABILITY_CAPTIVE_PORTAL);
}
- if (!Objects.equals(nai.networkCapabilities, networkCapabilities)) {
- final int oldScore = nai.getCurrentScore();
- if (nai.networkCapabilities.hasCapability(NET_CAPABILITY_NOT_RESTRICTED) !=
- networkCapabilities.hasCapability(NET_CAPABILITY_NOT_RESTRICTED)) {
- try {
- mNetd.setNetworkPermission(nai.network.netId,
- networkCapabilities.hasCapability(NET_CAPABILITY_NOT_RESTRICTED) ?
- null : NetworkManagementService.PERMISSION_SYSTEM);
- } catch (RemoteException e) {
- loge("Exception in setNetworkPermission: " + e);
- }
+ if (nai.isBackgroundNetwork()) {
+ networkCapabilities.removeCapability(NET_CAPABILITY_FOREGROUND);
+ } else {
+ networkCapabilities.addCapability(NET_CAPABILITY_FOREGROUND);
+ }
+
+ if (Objects.equals(nai.networkCapabilities, networkCapabilities)) return;
+
+ if (nai.networkCapabilities.hasCapability(NET_CAPABILITY_NOT_RESTRICTED) !=
+ networkCapabilities.hasCapability(NET_CAPABILITY_NOT_RESTRICTED)) {
+ try {
+ mNetd.setNetworkPermission(nai.network.netId,
+ networkCapabilities.hasCapability(NET_CAPABILITY_NOT_RESTRICTED) ?
+ null : NetworkManagementService.PERMISSION_SYSTEM);
+ } catch (RemoteException e) {
+ loge("Exception in setNetworkPermission: " + e);
}
- synchronized (nai) {
- nai.networkCapabilities = networkCapabilities;
- }
+ }
+
+ final int oldScore = nai.getCurrentScore();
+ final NetworkCapabilities prevNc = nai.networkCapabilities;
+ synchronized (nai) {
+ nai.networkCapabilities = networkCapabilities;
+ }
+ if (nai.getCurrentScore() == oldScore &&
+ networkCapabilities.equalRequestableCapabilities(prevNc)) {
+ // If the requestable capabilities haven't changed, and the score hasn't changed, then
+ // the change we're processing can't affect any requests, it can only affect the listens
+ // on this network. We might have been called by rematchNetworkAndRequests when a
+ // network changed foreground state.
+ processListenRequests(nai, true);
+ } else {
+ // If the requestable capabilities have changed or the score changed, we can't have been
+ // called by rematchNetworkAndRequests, so it's safe to start a rematch.
rematchAllNetworksAndRequests(nai, oldScore);
notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_CAP_CHANGED);
}
@@ -4612,8 +4668,12 @@
// must be no other active linger timers, and we must stop lingering.
oldNetwork.clearLingerState();
- if (unneeded(oldNetwork)) {
+ if (unneeded(oldNetwork, UnneededFor.TEARDOWN)) {
+ // Tear the network down.
teardownUnneededNetwork(oldNetwork);
+ } else {
+ // Put the network in the background.
+ updateCapabilities(oldNetwork, oldNetwork.networkCapabilities);
}
}
@@ -4631,6 +4691,31 @@
setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
}
+ private void processListenRequests(NetworkAgentInfo nai, boolean capabilitiesChanged) {
+ // For consistency with previous behaviour, send onLost callbacks before onAvailable.
+ for (NetworkRequestInfo nri : mNetworkRequests.values()) {
+ NetworkRequest nr = nri.request;
+ if (!nr.isListen()) continue;
+ if (nai.isSatisfyingRequest(nr.requestId) && !nai.satisfies(nr)) {
+ nai.removeRequest(nri.request.requestId);
+ callCallbackForRequest(nri, nai, ConnectivityManager.CALLBACK_LOST, 0);
+ }
+ }
+
+ if (capabilitiesChanged) {
+ notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_CAP_CHANGED);
+ }
+
+ for (NetworkRequestInfo nri : mNetworkRequests.values()) {
+ NetworkRequest nr = nri.request;
+ if (!nr.isListen()) continue;
+ if (nai.satisfies(nr) && !nai.isSatisfyingRequest(nr.requestId)) {
+ nai.addRequest(nr);
+ notifyNetworkCallback(nai, nri);
+ }
+ }
+ }
+
// Handles a network appearing or improving its score.
//
// - Evaluates all current NetworkRequests that can be
@@ -4664,13 +4749,25 @@
boolean keep = newNetwork.isVPN();
boolean isNewDefault = false;
NetworkAgentInfo oldDefaultNetwork = null;
+
+ final boolean wasBackgroundNetwork = newNetwork.isBackgroundNetwork();
+ final int score = newNetwork.getCurrentScore();
+
if (VDBG) log("rematching " + newNetwork.name());
+
// Find and migrate to this Network any NetworkRequests for
// which this network is now the best.
ArrayList<NetworkAgentInfo> affectedNetworks = new ArrayList<NetworkAgentInfo>();
ArrayList<NetworkRequestInfo> addedRequests = new ArrayList<NetworkRequestInfo>();
- if (VDBG) log(" network has: " + newNetwork.networkCapabilities);
+ NetworkCapabilities nc = newNetwork.networkCapabilities;
+ if (VDBG) log(" network has: " + nc);
for (NetworkRequestInfo nri : mNetworkRequests.values()) {
+ // Process requests in the first pass and listens in the second pass. This allows us to
+ // change a network's capabilities depending on which requests it has. This is only
+ // correct if the change in capabilities doesn't affect whether the network satisfies
+ // requests or not, and doesn't affect the network's score.
+ if (nri.request.isListen()) continue;
+
final NetworkAgentInfo currentNetwork = mNetworkForRequestId.get(nri.request.requestId);
final boolean satisfies = newNetwork.satisfies(nri.request);
if (newNetwork == currentNetwork && satisfies) {
@@ -4685,22 +4782,14 @@
// check if it satisfies the NetworkCapabilities
if (VDBG) log(" checking if request is satisfied: " + nri.request);
if (satisfies) {
- if (nri.request.isListen()) {
- // This is not a request, it's a callback listener.
- // Add it to newNetwork regardless of score.
- if (newNetwork.addRequest(nri.request)) addedRequests.add(nri);
- continue;
- }
-
// next check if it's better than any current network we're using for
// this request
if (VDBG) {
log("currentScore = " +
(currentNetwork != null ? currentNetwork.getCurrentScore() : 0) +
- ", newScore = " + newNetwork.getCurrentScore());
+ ", newScore = " + score);
}
- if (currentNetwork == null ||
- currentNetwork.getCurrentScore() < newNetwork.getCurrentScore()) {
+ if (currentNetwork == null || currentNetwork.getCurrentScore() < score) {
if (VDBG) log("rematch for " + newNetwork.name());
if (currentNetwork != null) {
if (VDBG) log(" accepting network in place of " + currentNetwork.name());
@@ -4722,7 +4811,7 @@
// TODO - this could get expensive if we have alot of requests for this
// network. Think about if there is a way to reduce this. Push
// netid->request mapping to each factory?
- sendUpdatedScoreToFactories(nri.request, newNetwork.getCurrentScore());
+ sendUpdatedScoreToFactories(nri.request, score);
if (isDefaultRequest(nri)) {
isNewDefault = true;
oldDefaultNetwork = currentNetwork;
@@ -4748,16 +4837,14 @@
mNetworkForRequestId.remove(nri.request.requestId);
sendUpdatedScoreToFactories(nri.request, 0);
} else {
- if (nri.request.isRequest()) {
- Slog.wtf(TAG, "BUG: Removing request " + nri.request.requestId + " from " +
- newNetwork.name() +
- " without updating mNetworkForRequestId or factories!");
- }
+ Slog.wtf(TAG, "BUG: Removing request " + nri.request.requestId + " from " +
+ newNetwork.name() +
+ " without updating mNetworkForRequestId or factories!");
}
- // TODO: technically, sending CALLBACK_LOST here is
- // incorrect if nri is a request (not a listen) and there
- // is a replacement network currently connected that can
- // satisfy it. However, the only capability that can both
+ // TODO: Technically, sending CALLBACK_LOST here is
+ // incorrect if there is a replacement network currently
+ // connected that can satisfy nri, which is a request
+ // (not a listen). However, the only capability that can both
// a) be requested and b) change is NET_CAPABILITY_TRUSTED,
// so this code is only incorrect for a network that loses
// the TRUSTED capability, which is a rare case.
@@ -4782,6 +4869,28 @@
}
}
+ if (!newNetwork.networkCapabilities.equalRequestableCapabilities(nc)) {
+ Slog.wtf(TAG, String.format(
+ "BUG: %s changed requestable capabilities during rematch: %s -> %s",
+ nc, newNetwork.networkCapabilities));
+ }
+ if (newNetwork.getCurrentScore() != score) {
+ Slog.wtf(TAG, String.format(
+ "BUG: %s changed score during rematch: %d -> %d",
+ score, newNetwork.getCurrentScore()));
+ }
+
+ // Second pass: process all listens.
+ if (wasBackgroundNetwork != newNetwork.isBackgroundNetwork()) {
+ // If the network went from background to foreground or vice versa, we need to update
+ // its foreground state. It is safe to do this after rematching the requests because
+ // NET_CAPABILITY_FOREGROUND does not affect requests, as is not a requestable
+ // capability and does not affect the network's score (see the Slog.wtf call above).
+ updateCapabilities(newNetwork, newNetwork.networkCapabilities);
+ } else {
+ processListenRequests(newNetwork, false);
+ }
+
// do this after the default net is switched, but
// before LegacyTypeTracker sends legacy broadcasts
for (NetworkRequestInfo nri : addedRequests) notifyNetworkCallback(newNetwork, nri);
@@ -4859,7 +4968,7 @@
}
if (reapUnvalidatedNetworks == ReapUnvalidatedNetworks.REAP) {
for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
- if (unneeded(nai)) {
+ if (unneeded(nai, UnneededFor.TEARDOWN)) {
if (nai.getLingerExpiry() > 0) {
// This network has active linger timers and no requests, but is not
// lingering. Linger it.
@@ -4973,6 +5082,10 @@
if (!networkAgent.created
&& (state == NetworkInfo.State.CONNECTED
|| (state == NetworkInfo.State.CONNECTING && networkAgent.isVPN()))) {
+
+ // A network that has just connected has zero requests and is thus a foreground network.
+ networkAgent.networkCapabilities.addCapability(NET_CAPABILITY_FOREGROUND);
+
try {
// This should never fail. Specifying an already in use NetID will cause failure.
if (networkAgent.isVPN()) {
@@ -5134,6 +5247,8 @@
NetworkRequest nr = networkAgent.requestAt(i);
NetworkRequestInfo nri = mNetworkRequests.get(nr);
if (VDBG) log(" sending notification for " + nr);
+ // TODO: if we're in the middle of a rematch, can we send a CAP_CHANGED callback for
+ // a network that no longer satisfies the listen?
if (nri.mPendingIntent == null) {
callCallbackForRequest(nri, networkAgent, notifyType, arg1);
} else {
diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/server/InputMethodManagerService.java
index 71ac544..8ae4917 100644
--- a/services/core/java/com/android/server/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/InputMethodManagerService.java
@@ -822,7 +822,7 @@
public void onUnlockUser(final @UserIdInt int userHandle) {
// Called on ActivityManager thread.
mService.mHandler.sendMessage(mService.mHandler.obtainMessage(MSG_SYSTEM_UNLOCK_USER,
- userHandle));
+ userHandle /* arg1 */, 0 /* arg2 */));
}
}
diff --git a/services/core/java/com/android/server/IntentResolver.java b/services/core/java/com/android/server/IntentResolver.java
index 3fdcceb..83d374c 100644
--- a/services/core/java/com/android/server/IntentResolver.java
+++ b/services/core/java/com/android/server/IntentResolver.java
@@ -364,6 +364,7 @@
buildResolveList(intent, categories, debug, defaultOnly,
resolvedType, scheme, listCut.get(i), resultList, userId);
}
+ filterResults(resultList);
sortResults(resultList);
return resultList;
}
@@ -457,6 +458,7 @@
buildResolveList(intent, categories, debug, defaultOnly,
resolvedType, scheme, schemeCut, finalList, userId);
}
+ filterResults(finalList);
sortResults(finalList);
if (debug) {
@@ -521,6 +523,12 @@
Collections.sort(results, mResolvePrioritySorter);
}
+ /**
+ * Apply filtering to the results. This happens before the results are sorted.
+ */
+ protected void filterResults(List<R> results) {
+ }
+
protected void dumpFilter(PrintWriter out, String prefix, F filter) {
out.print(prefix); out.println(filter);
}
diff --git a/services/core/java/com/android/server/accounts/AccountManagerBackupHelper.java b/services/core/java/com/android/server/accounts/AccountManagerBackupHelper.java
new file mode 100644
index 0000000..1361a31
--- /dev/null
+++ b/services/core/java/com/android/server/accounts/AccountManagerBackupHelper.java
@@ -0,0 +1,315 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.accounts;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AccountManagerInternal;
+import android.annotation.IntRange;
+import android.annotation.NonNull;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+import android.os.UserHandle;
+import android.text.TextUtils;
+import android.util.Log;
+import android.util.PackageUtils;
+import android.util.Xml;
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.content.PackageMonitor;
+import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.util.XmlUtils;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlSerializer;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Helper class for backup and restore of account access grants.
+ */
+public final class AccountManagerBackupHelper {
+ private static final String TAG = "AccountManagerBackupHelper";
+
+ private static final long PENDING_RESTORE_TIMEOUT_MILLIS = 60 * 60 * 1000; // 1 hour
+
+ private static final String TAG_PERMISSIONS = "permissions";
+ private static final String TAG_PERMISSION = "permission";
+ private static final String ATTR_ACCOUNT_SHA_256 = "account-sha-256";
+ private static final String ATTR_PACKAGE = "package";
+ private static final String ATTR_DIGEST = "digest";
+
+ private static final String ACCOUNT_ACCESS_GRANTS = ""
+ + "SELECT " + AccountManagerService.ACCOUNTS_NAME + ", "
+ + AccountManagerService.GRANTS_GRANTEE_UID
+ + " FROM " + AccountManagerService.TABLE_ACCOUNTS
+ + ", " + AccountManagerService.TABLE_GRANTS
+ + " WHERE " + AccountManagerService.GRANTS_ACCOUNTS_ID
+ + "=" + AccountManagerService.ACCOUNTS_ID;
+
+ private final Object mLock = new Object();
+
+ private final AccountManagerService mAccountManagerService;
+ private final AccountManagerInternal mAccountManagerInternal;
+
+ @GuardedBy("mLock")
+ private List<PendingAppPermission> mRestorePendingAppPermissions;
+
+ @GuardedBy("mLock")
+ private RestorePackageMonitor mRestorePackageMonitor;
+
+ @GuardedBy("mLock")
+ private Runnable mRestoreCancelCommand;
+
+ public AccountManagerBackupHelper(AccountManagerService accountManagerService,
+ AccountManagerInternal accountManagerInternal) {
+ mAccountManagerService = accountManagerService;
+ mAccountManagerInternal = accountManagerInternal;
+ }
+
+ private final class PendingAppPermission {
+ private final @NonNull String accountDigest;
+ private final @NonNull String packageName;
+ private final @NonNull String certDigest;
+ private final @IntRange(from = 0) int userId;
+
+ public PendingAppPermission(String accountDigest, String packageName,
+ String certDigest, int userId) {
+ this.accountDigest = accountDigest;
+ this.packageName = packageName;
+ this.certDigest = certDigest;
+ this.userId = userId;
+ }
+
+ public boolean apply(PackageManager packageManager) {
+ Account account = null;
+ AccountManagerService.UserAccounts accounts = mAccountManagerService
+ .getUserAccounts(userId);
+ synchronized (accounts.cacheLock) {
+ for (Account[] accountsPerType : accounts.accountCache.values()) {
+ for (Account accountPerType : accountsPerType) {
+ if (accountDigest.equals(PackageUtils.computeSha256Digest(
+ accountPerType.name.getBytes()))) {
+ account = accountPerType;
+ break;
+ }
+ }
+ if (account != null) {
+ break;
+ }
+ }
+ }
+ if (account == null) {
+ return false;
+ }
+ final PackageInfo packageInfo;
+ try {
+ packageInfo = packageManager.getPackageInfoAsUser(packageName,
+ PackageManager.GET_SIGNATURES, userId);
+ } catch (PackageManager.NameNotFoundException e) {
+ return false;
+ }
+ String currentCertDigest = PackageUtils.computeCertSha256Digest(
+ packageInfo.signatures[0]);
+ if (!certDigest.equals(currentCertDigest)) {
+ return false;
+ }
+ final int uid = packageInfo.applicationInfo.uid;
+ if (!mAccountManagerInternal.hasAccountAccess(account, uid)) {
+ mAccountManagerService.grantAppPermission(account,
+ AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE, uid);
+ }
+ return true;
+ }
+ }
+
+ public byte[] backupAccountAccessPermissions(int userId) {
+ final AccountManagerService.UserAccounts accounts = mAccountManagerService
+ .getUserAccounts(userId);
+ synchronized (accounts.cacheLock) {
+ SQLiteDatabase db = accounts.openHelper.getReadableDatabase();
+ try (
+ Cursor cursor = db.rawQuery(ACCOUNT_ACCESS_GRANTS, null);
+ ) {
+ if (cursor == null || !cursor.moveToFirst()) {
+ return null;
+ }
+
+ final int nameColumnIdx = cursor.getColumnIndex(
+ AccountManagerService.ACCOUNTS_NAME);
+ final int uidColumnIdx = cursor.getColumnIndex(
+ AccountManagerService.GRANTS_GRANTEE_UID);
+
+ ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
+ try {
+ final XmlSerializer serializer = new FastXmlSerializer();
+ serializer.setOutput(dataStream, StandardCharsets.UTF_8.name());
+ serializer.startDocument(null, true);
+ serializer.startTag(null, TAG_PERMISSIONS);
+
+ PackageManager packageManager = mAccountManagerService.mContext
+ .getPackageManager();
+
+ do {
+ final String accountName = cursor.getString(nameColumnIdx);
+ final int uid = cursor.getInt(uidColumnIdx);
+
+ final String[] packageNames = packageManager.getPackagesForUid(uid);
+ if (packageNames == null) {
+ continue;
+ }
+
+ for (String packageName : packageNames) {
+ String digest = PackageUtils.computePackageCertSha256Digest(
+ packageManager, packageName, userId);
+ if (digest != null) {
+ serializer.startTag(null, TAG_PERMISSION);
+ serializer.attribute(null, ATTR_ACCOUNT_SHA_256,
+ PackageUtils.computeSha256Digest(accountName.getBytes()));
+ serializer.attribute(null, ATTR_PACKAGE, packageName);
+ serializer.attribute(null, ATTR_DIGEST, digest);
+ serializer.endTag(null, TAG_PERMISSION);
+ }
+ }
+ } while (cursor.moveToNext());
+
+ serializer.endTag(null, TAG_PERMISSIONS);
+ serializer.endDocument();
+ serializer.flush();
+ } catch (IOException e) {
+ Log.e(TAG, "Error backing up account access grants", e);
+ return null;
+ }
+
+ return dataStream.toByteArray();
+ }
+ }
+ }
+
+ public void restoreAccountAccessPermissions(byte[] data, int userId) {
+ try {
+ ByteArrayInputStream dataStream = new ByteArrayInputStream(data);
+ XmlPullParser parser = Xml.newPullParser();
+ parser.setInput(dataStream, StandardCharsets.UTF_8.name());
+ PackageManager packageManager = mAccountManagerService.mContext.getPackageManager();
+
+ final int permissionsOuterDepth = parser.getDepth();
+ while (XmlUtils.nextElementWithin(parser, permissionsOuterDepth)) {
+ if (!TAG_PERMISSIONS.equals(parser.getName())) {
+ continue;
+ }
+ final int permissionOuterDepth = parser.getDepth();
+ while (XmlUtils.nextElementWithin(parser, permissionOuterDepth)) {
+ if (!TAG_PERMISSION.equals(parser.getName())) {
+ continue;
+ }
+ String accountDigest = parser.getAttributeValue(null, ATTR_ACCOUNT_SHA_256);
+ if (TextUtils.isEmpty(accountDigest)) {
+ XmlUtils.skipCurrentTag(parser);
+ }
+ String packageName = parser.getAttributeValue(null, ATTR_PACKAGE);
+ if (TextUtils.isEmpty(packageName)) {
+ XmlUtils.skipCurrentTag(parser);
+ }
+ String digest = parser.getAttributeValue(null, ATTR_DIGEST);
+ if (TextUtils.isEmpty(digest)) {
+ XmlUtils.skipCurrentTag(parser);
+ }
+
+ PendingAppPermission pendingAppPermission = new PendingAppPermission(
+ accountDigest, packageName, digest, userId);
+
+ if (!pendingAppPermission.apply(packageManager)) {
+ synchronized (mLock) {
+ // Start watching before add pending to avoid a missed signal
+ if (mRestorePackageMonitor == null) {
+ mRestorePackageMonitor = new RestorePackageMonitor();
+ mRestorePackageMonitor.register(mAccountManagerService.mContext,
+ mAccountManagerService.mMessageHandler.getLooper(), true);
+ }
+ if (mRestorePendingAppPermissions == null) {
+ mRestorePendingAppPermissions = new ArrayList<>();
+ }
+ mRestorePendingAppPermissions.add(pendingAppPermission);
+ }
+ }
+ }
+ }
+
+ // Make sure we eventually prune the in-memory pending restores
+ synchronized (mLock) {
+ mRestoreCancelCommand = new CancelRestoreCommand();
+ }
+ mAccountManagerService.mMessageHandler.postDelayed(mRestoreCancelCommand,
+ PENDING_RESTORE_TIMEOUT_MILLIS);
+ } catch (XmlPullParserException | IOException e) {
+ Log.e(TAG, "Error restoring app permissions", e);
+ }
+ }
+
+ private final class RestorePackageMonitor extends PackageMonitor {
+ @Override
+ public void onPackageAdded(String packageName, int uid) {
+ synchronized (mLock) {
+ // Can happen if restore is cancelled and there is a notification in flight
+ if (mRestorePendingAppPermissions == null) {
+ return;
+ }
+ if (UserHandle.getUserId(uid) != UserHandle.USER_SYSTEM) {
+ return;
+ }
+ final int count = mRestorePendingAppPermissions.size();
+ for (int i = count - 1; i >= 0; i--) {
+ PendingAppPermission pendingAppPermission =
+ mRestorePendingAppPermissions.get(i);
+ if (!pendingAppPermission.packageName.equals(packageName)) {
+ continue;
+ }
+ if (pendingAppPermission.apply(
+ mAccountManagerService.mContext.getPackageManager())) {
+ mRestorePendingAppPermissions.remove(i);
+ }
+ }
+ if (mRestorePendingAppPermissions.isEmpty()
+ && mRestoreCancelCommand != null) {
+ mAccountManagerService.mMessageHandler.removeCallbacks(mRestoreCancelCommand);
+ mRestoreCancelCommand.run();
+ mRestoreCancelCommand = null;
+ }
+ }
+ }
+ }
+
+ private final class CancelRestoreCommand implements Runnable {
+ @Override
+ public void run() {
+ synchronized (mLock) {
+ mRestorePendingAppPermissions = null;
+ if (mRestorePackageMonitor != null) {
+ mRestorePackageMonitor.unregister();
+ mRestorePackageMonitor = null;
+ }
+ }
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index 2f96b20..bee7fdb 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -26,12 +26,14 @@
import android.accounts.AuthenticatorDescription;
import android.accounts.CantAddAccountActivity;
import android.accounts.GrantCredentialsPermissionActivity;
+import android.accounts.IAccountAccessTracker;
import android.accounts.IAccountAuthenticator;
import android.accounts.IAccountAuthenticatorResponse;
import android.accounts.IAccountManager;
import android.accounts.IAccountManagerResponse;
import android.annotation.IntRange;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
import android.app.ActivityThread;
@@ -85,15 +87,16 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.os.storage.StorageManager;
-import android.service.notification.StatusBarNotification;
import android.text.TextUtils;
import android.util.Log;
+import android.util.PackageUtils;
import android.util.Pair;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
import com.android.internal.R;
+import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.content.PackageMonitor;
import com.android.internal.util.ArrayUtils;
@@ -125,6 +128,7 @@
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
@@ -155,13 +159,6 @@
}
@Override
- public void onBootPhase(int phase) {
- if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY) {
- mService.systemReady();
- }
- }
-
- @Override
public void onUnlockUser(int userHandle) {
mService.onUnlockUser(userHandle);
}
@@ -174,13 +171,13 @@
private static final int MAX_DEBUG_DB_SIZE = 64;
- private final Context mContext;
+ final Context mContext;
private final PackageManager mPackageManager;
private final AppOpsManager mAppOpsManager;
private UserManager mUserManager;
- private final MessageHandler mMessageHandler;
+ final MessageHandler mMessageHandler;
// Messages that can be sent on mHandler
private static final int MESSAGE_TIMED_OUT = 3;
@@ -188,9 +185,9 @@
private final IAccountAuthenticatorCache mAuthenticatorCache;
- private static final String TABLE_ACCOUNTS = "accounts";
- private static final String ACCOUNTS_ID = "_id";
- private static final String ACCOUNTS_NAME = "name";
+ static final String TABLE_ACCOUNTS = "accounts";
+ static final String ACCOUNTS_ID = "_id";
+ static final String ACCOUNTS_NAME = "name";
private static final String ACCOUNTS_TYPE = "type";
private static final String ACCOUNTS_TYPE_COUNT = "count(type)";
private static final String ACCOUNTS_PASSWORD = "password";
@@ -204,10 +201,10 @@
private static final String AUTHTOKENS_TYPE = "type";
private static final String AUTHTOKENS_AUTHTOKEN = "authtoken";
- private static final String TABLE_GRANTS = "grants";
- private static final String GRANTS_ACCOUNTS_ID = "accounts_id";
+ static final String TABLE_GRANTS = "grants";
+ static final String GRANTS_ACCOUNTS_ID = "accounts_id";
private static final String GRANTS_AUTH_TOKEN_TYPE = "auth_token_type";
- private static final String GRANTS_GRANTEE_UID = "uid";
+ static final String GRANTS_GRANTEE_UID = "uid";
private static final String TABLE_EXTRAS = "extras";
private static final String EXTRAS_ID = "_id";
@@ -274,16 +271,16 @@
static class UserAccounts {
private final int userId;
- private final DeDatabaseHelper openHelper;
+ final DeDatabaseHelper openHelper;
private final HashMap<Pair<Pair<Account, String>, Integer>, Integer>
credentialsPermissionNotificationIds =
new HashMap<Pair<Pair<Account, String>, Integer>, Integer>();
private final HashMap<Account, Integer> signinRequiredNotificationIds =
new HashMap<Account, Integer>();
- private final Object cacheLock = new Object();
+ final Object cacheLock = new Object();
/** protected by the {@link #cacheLock} */
- private final HashMap<String, Account[]> accountCache =
- new LinkedHashMap<String, Account[]>();
+ final HashMap<String, Account[]> accountCache =
+ new LinkedHashMap<>();
/** protected by the {@link #cacheLock} */
private final HashMap<Account, HashMap<String, String>> userDataCache =
new HashMap<Account, HashMap<String, String>>();
@@ -322,6 +319,8 @@
private final SparseArray<UserAccounts> mUsers = new SparseArray<>();
private final SparseBooleanArray mLocalUnlockedUsers = new SparseBooleanArray();
+ private final CopyOnWriteArrayList<AccountManagerInternal.OnAppPermissionChangeListener>
+ mAppPermissionChangeListeners = new CopyOnWriteArrayList<>();
private static AtomicReference<AccountManagerService> sThis = new AtomicReference<>();
private static final Account[] EMPTY_ACCOUNT_ARRAY = new Account[]{};
@@ -502,7 +501,7 @@
if (!checkAccess || hasAccountAccess(account, packageName,
UserHandle.getUserHandleForUid(uid))) {
cancelNotification(getCredentialPermissionNotificationId(account,
- AccountManager.ACCOUNT_ACCESS_TOKEN, uid), packageName,
+ AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE, uid), packageName,
UserHandle.getUserHandleForUid(uid));
}
}
@@ -522,9 +521,6 @@
}
}
- public void systemReady() {
- }
-
private UserManager getUserManager() {
if (mUserManager == null) {
mUserManager = UserManager.get(mContext);
@@ -695,7 +691,8 @@
final ArrayList<String> accountNames = cur.getValue();
final Account[] accountsForType = new Account[accountNames.size()];
for (int i = 0; i < accountsForType.length; i++) {
- accountsForType[i] = new Account(accountNames.get(i), accountType);
+ accountsForType[i] = new Account(accountNames.get(i), accountType,
+ new AccountAccessTracker());
}
accounts.accountCache.put(accountType, accountsForType);
}
@@ -1505,6 +1502,8 @@
Bundle result = new Bundle();
result.putString(AccountManager.KEY_ACCOUNT_NAME, resultingAccount.name);
result.putString(AccountManager.KEY_ACCOUNT_TYPE, resultingAccount.type);
+ result.putBinder(AccountManager.KEY_ACCOUNT_ACCESS_TRACKER,
+ resultingAccount.getAccessTracker().asBinder());
try {
response.onResult(result);
} catch (RemoteException e) {
@@ -1857,7 +1856,7 @@
for (Pair<Pair<Account, String>, Integer> key
: accounts.credentialsPermissionNotificationIds.keySet()) {
if (account.equals(key.first.first)
- && AccountManager.ACCOUNT_ACCESS_TOKEN.equals(key.first.second)) {
+ && AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE.equals(key.first.second)) {
final int uid = (Integer) key.second;
mMessageHandler.post(() -> cancelAccountAccessRequestNotificationIfNeeded(
account, uid, false));
@@ -3457,22 +3456,36 @@
Preconditions.checkArgumentInRange(userId, 0, Integer.MAX_VALUE, "user must be concrete");
try {
-
final int uid = mPackageManager.getPackageUidAsUser(packageName, userId);
- // Use null token which means any token. Having a token means the package
- // is trusted by the authenticator, hence it is fine to access the account.
- if (permissionIsGranted(account, null, uid, userId)) {
- return true;
- }
- // In addition to the permissions required to get an auth token we also allow
- // the account to be accessed by holders of the get accounts permissions.
- return checkUidPermission(Manifest.permission.GET_ACCOUNTS_PRIVILEGED, uid, packageName)
- || checkUidPermission(Manifest.permission.GET_ACCOUNTS, uid, packageName);
+ return hasAccountAccess(account, packageName, uid);
} catch (NameNotFoundException e) {
return false;
}
}
+ private boolean hasAccountAccess(@NonNull Account account, @Nullable String packageName,
+ int uid) {
+ if (packageName == null) {
+ String[] packageNames = mPackageManager.getPackagesForUid(uid);
+ if (ArrayUtils.isEmpty(packageNames)) {
+ return false;
+ }
+ // For app op checks related to permissions all packages in the UID
+ // have the same app op state, so doesn't matter which one we pick.
+ packageName = packageNames[0];
+ }
+
+ // Use null token which means any token. Having a token means the package
+ // is trusted by the authenticator, hence it is fine to access the account.
+ if (permissionIsGranted(account, null, uid, UserHandle.getUserId(uid))) {
+ return true;
+ }
+ // In addition to the permissions required to get an auth token we also allow
+ // the account to be accessed by holders of the get accounts permissions.
+ return checkUidPermission(Manifest.permission.GET_ACCOUNTS_PRIVILEGED, uid, packageName)
+ || checkUidPermission(Manifest.permission.GET_ACCOUNTS, uid, packageName);
+ }
+
private boolean checkUidPermission(String permission, int uid, String opPackageName) {
final long identity = Binder.clearCallingIdentity();
try {
@@ -3548,7 +3561,7 @@
private void handleAuthenticatorResponse(boolean accessGranted) throws RemoteException {
cancelNotification(getCredentialPermissionNotificationId(account,
- AccountManager.ACCOUNT_ACCESS_TOKEN, uid), packageName,
+ AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE, uid), packageName,
UserHandle.getUserHandleForUid(uid));
if (callback != null) {
Bundle result = new Bundle();
@@ -3556,7 +3569,7 @@
callback.sendResult(result);
}
}
- }), AccountManager.ACCOUNT_ACCESS_TOKEN, false);
+ }), AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE, false);
}
@Override
@@ -4432,7 +4445,7 @@
}
}
- private class MessageHandler extends Handler {
+ class MessageHandler extends Handler {
MessageHandler(Looper looper) {
super(looper);
}
@@ -5583,7 +5596,7 @@
* which is in the system. This means we don't need to protect it with permissions.
* @hide
*/
- private void grantAppPermission(Account account, String authTokenType, int uid) {
+ void grantAppPermission(Account account, String authTokenType, int uid) {
if (account == null || authTokenType == null) {
Log.e(TAG, "grantAppPermission: called with invalid arguments", new Exception());
return;
@@ -5610,6 +5623,12 @@
cancelAccountAccessRequestNotificationIfNeeded(account, uid, true);
}
+
+ // Listeners are a final CopyOnWriteArrayList, hence no lock needed.
+ for (AccountManagerInternal.OnAppPermissionChangeListener listener
+ : mAppPermissionChangeListeners) {
+ mMessageHandler.post(() -> listener.onAppPermissionChanged(account, uid));
+ }
}
/**
@@ -5642,9 +5661,16 @@
} finally {
db.endTransaction();
}
+
cancelNotification(getCredentialPermissionNotificationId(account, authTokenType, uid),
new UserHandle(accounts.userId));
}
+
+ // Listeners are a final CopyOnWriteArrayList, hence no lock needed.
+ for (AccountManagerInternal.OnAppPermissionChangeListener listener
+ : mAppPermissionChangeListeners) {
+ mMessageHandler.post(() -> listener.onAppPermissionChanged(account, uid));
+ }
}
static final private String stringArrayToString(String[] value) {
@@ -5683,7 +5709,7 @@
if (accountsForType != null) {
System.arraycopy(accountsForType, 0, newAccountsForType, 0, oldLength);
}
- newAccountsForType[oldLength] = account;
+ newAccountsForType[oldLength] = new Account(account, new AccountAccessTracker());
accounts.accountCache.put(account.type, newAccountsForType);
}
@@ -5927,7 +5953,39 @@
}
}
+ private final class AccountAccessTracker extends IAccountAccessTracker.Stub {
+ @Override
+ public void onAccountAccessed() throws RemoteException {
+ final int uid = Binder.getCallingUid();
+ if (UserHandle.getAppId(uid) == Process.SYSTEM_UID) {
+ return;
+ }
+ final int userId = UserHandle.getCallingUserId();
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ for (Account account : getAccounts(userId, mContext.getOpPackageName())) {
+ IAccountAccessTracker accountTracker = account.getAccessTracker();
+ if (accountTracker != null && asBinder() == accountTracker.asBinder()) {
+ // An app just accessed the account. At this point it knows about
+ // it and there is not need to hide this account from the app.
+ if (!hasAccountAccess(account, null, uid)) {
+ updateAppPermission(account, AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE,
+ uid, true);
+ }
+ }
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+ }
+
private final class AccountManagerInternalImpl extends AccountManagerInternal {
+ private final Object mLock = new Object();
+
+ @GuardedBy("mLock")
+ private AccountManagerBackupHelper mBackupHelper;
+
@Override
public void requestAccountAccess(@NonNull Account account, @NonNull String packageName,
@IntRange(from = 0) int userId, @NonNull RemoteCallback callback) {
@@ -5948,7 +6006,8 @@
return;
}
- if (hasAccountAccess(account, packageName, new UserHandle(userId))) {
+ if (AccountManagerService.this.hasAccountAccess(account, packageName,
+ new UserHandle(userId))) {
Bundle result = new Bundle();
result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true);
callback.sendResult(result);
@@ -5964,7 +6023,44 @@
}
Intent intent = newRequestAccountAccessIntent(account, packageName, uid, callback);
- doNotification(mUsers.get(userId), account, null, intent, packageName, userId);
+ final UserAccounts userAccounts;
+ synchronized (mUsers) {
+ userAccounts = mUsers.get(userId);
+ }
+ doNotification(userAccounts, account, null, intent, packageName, userId);
+ }
+
+ @Override
+ public void addOnAppPermissionChangeListener(OnAppPermissionChangeListener listener) {
+ // Listeners are a final CopyOnWriteArrayList, hence no lock needed.
+ mAppPermissionChangeListeners.add(listener);
+ }
+
+ @Override
+ public boolean hasAccountAccess(@NonNull Account account, @IntRange(from = 0) int uid) {
+ return AccountManagerService.this.hasAccountAccess(account, null, uid);
+ }
+
+ @Override
+ public byte[] backupAccountAccessPermissions(int userId) {
+ synchronized (mLock) {
+ if (mBackupHelper == null) {
+ mBackupHelper = new AccountManagerBackupHelper(
+ AccountManagerService.this, this);
+ }
+ return mBackupHelper.backupAccountAccessPermissions(userId);
+ }
+ }
+
+ @Override
+ public void restoreAccountAccessPermissions(byte[] data, int userId) {
+ synchronized (mLock) {
+ if (mBackupHelper == null) {
+ mBackupHelper = new AccountManagerBackupHelper(
+ AccountManagerService.this, this);
+ }
+ mBackupHelper.restoreAccountAccessPermissions(data, userId);
+ }
}
}
}
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 1dfca2b..aef4cd8 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -641,7 +641,8 @@
boolean mDoingSetFocusedActivity;
public boolean canShowErrorDialogs() {
- return mShowDialogs && !mSleeping && !mShuttingDown;
+ return mShowDialogs && !mSleeping && !mShuttingDown
+ && mLockScreenShown != LOCK_SCREEN_SHOWN;
}
private static final class PriorityState {
@@ -3098,6 +3099,15 @@
if (task == null) {
return;
}
+ if (mUserController.shouldConfirmCredentials(task.userId)) {
+ mActivityStarter.showConfirmDeviceCredential(task.userId);
+ if (task.stack != null && task.stack.mStackId == FREEFORM_WORKSPACE_STACK_ID) {
+ mStackSupervisor.moveTaskToStackLocked(task.taskId,
+ FULLSCREEN_WORKSPACE_STACK_ID, !ON_TOP, !FORCE_FOCUS,
+ "setFocusedTask", ANIMATE);
+ }
+ return;
+ }
final ActivityRecord r = task.topRunningActivityLocked();
if (setFocusedActivityLocked(r, "setFocusedTask")) {
mStackSupervisor.resumeFocusedStackTopActivityLocked();
@@ -11823,6 +11833,12 @@
final long ident = Binder.clearCallingIdentity();
try {
final int currentUserId = mUserController.getCurrentUserIdLocked();
+
+ // Drop locked freeform tasks out into the fullscreen stack.
+ // TODO: Redact the tasks in place. It's much better to keep them on the screen
+ // where they were before, but in an obscured state.
+ mStackSupervisor.moveProfileTasksFromFreeformToFullscreenStackLocked(userId);
+
if (mUserController.isLockScreenDisabled(currentUserId)) {
// If there is no device lock, we will show the profile's credential page.
mActivityStarter.showConfirmDeviceCredential(userId);
diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java
index 489eb77..5895633 100755
--- a/services/core/java/com/android/server/am/ActivityRecord.java
+++ b/services/core/java/com/android/server/am/ActivityRecord.java
@@ -17,6 +17,7 @@
package com.android.server.am;
import static android.app.ActivityManager.StackId;
+import static android.app.ActivityManager.StackId.DOCKED_STACK_ID;
import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID;
import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
import static android.content.pm.ActivityInfo.RESIZE_MODE_CROP_WINDOWS;
@@ -946,21 +947,29 @@
// The activity now gets access to the data associated with this Intent.
service.grantUriPermissionFromIntentLocked(callingUid, packageName,
intent, getUriPermissionsLocked(), userId);
- // We want to immediately deliver the intent to the activity if
- // it is currently the top resumed activity... however, if the
- // device is sleeping, then all activities are stopped, so in that
- // case we will deliver it if this is the current top activity on its
- // stack.
final ReferrerIntent rintent = new ReferrerIntent(intent, referrer);
boolean unsent = true;
- if ((state == ActivityState.RESUMED
- || (service.isSleepingLocked() && task.stack != null
- && task.stack.topRunningActivityLocked() == this))
- && app != null && app.thread != null) {
+ final ActivityStack stack = task.stack;
+ final boolean isTopActivityInStack =
+ stack != null && stack.topRunningActivityLocked() == this;
+ final boolean isTopActivityWhileSleeping =
+ service.isSleepingLocked() && isTopActivityInStack;
+ final boolean isTopActivityInMinimizedDockedStack = isTopActivityInStack
+ && stack.mStackId == DOCKED_STACK_ID && mStackSupervisor.mIsDockMinimized
+ && state == ActivityState.PAUSED;
+
+ // We want to immediately deliver the intent to the activity if:
+ // - It is the resumed activity.
+ // - The device is sleeping and it is the top activity behind the lock screen (b/6700897).
+ // - It is the top activity in a minimized docked stack. In this case the activity will be
+ // temporarily resumed then paused again on the client side.
+ if ((state == ActivityState.RESUMED || isTopActivityWhileSleeping
+ || isTopActivityInMinimizedDockedStack) && app != null && app.thread != null) {
try {
ArrayList<ReferrerIntent> ar = new ArrayList<>(1);
ar.add(rintent);
- app.thread.scheduleNewIntent(ar, appToken);
+ app.thread.scheduleNewIntent(
+ ar, appToken, isTopActivityInMinimizedDockedStack /* andPause */);
unsent = false;
} catch (RemoteException e) {
Slog.w(TAG, "Exception thrown sending new intent to " + this, e);
@@ -1309,8 +1318,12 @@
state == ActivityState.RESUMED;
}
- public void setSleeping(boolean _sleeping) {
- if (sleeping == _sleeping) {
+ void setSleeping(boolean _sleeping) {
+ setSleeping(_sleeping, false);
+ }
+
+ void setSleeping(boolean _sleeping, boolean force) {
+ if (!force && sleeping == _sleeping) {
return;
}
if (app != null && app.thread != null) {
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index 2722e275..edc3334 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -2493,7 +2493,8 @@
break;
}
}
- next.app.thread.scheduleNewIntent(next.newIntents, next.appToken);
+ next.app.thread.scheduleNewIntent(
+ next.newIntents, next.appToken, false /* andPause */);
}
// Well the app will no longer be stopped.
@@ -4512,15 +4513,6 @@
return true;
}
- // TODO: We could probably make the condition below just check that the activity state is
- // stopped, but also checking the sleep state for now to reduce change impact late in
- // development cycle.
- if (mService.isSleepingOrShuttingDownLocked() && r.state == ActivityState.STOPPED) {
- if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG_CONFIGURATION,
- "Skipping config check (stopped while sleeping): " + r);
- return true;
- }
-
if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG_CONFIGURATION,
"Ensuring correct configuration: " + r);
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 1cb83d2..17670f8 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -743,9 +743,11 @@
if (!mService.mUserController.shouldConfirmCredentials(userId)) {
return false;
}
- final ActivityStack fullScreenStack = getStack(FULLSCREEN_WORKSPACE_STACK_ID);
- final ActivityStack dockedStack = getStack(DOCKED_STACK_ID);
- final ActivityStack[] activityStacks = new ActivityStack[] {fullScreenStack, dockedStack};
+ final ActivityStack[] activityStacks = {
+ getStack(DOCKED_STACK_ID),
+ getStack(FREEFORM_WORKSPACE_STACK_ID),
+ getStack(FULLSCREEN_WORKSPACE_STACK_ID),
+ };
for (final ActivityStack activityStack : activityStacks) {
if (activityStack == null) {
continue;
@@ -759,14 +761,22 @@
if (activityStack.isDockedStack() && mIsDockMinimized) {
continue;
}
- final TaskRecord topTask = activityStack.topTask();
- if (topTask == null) {
- continue;
- }
- // To handle the case that work app is in the task but just is not the top one.
- for (int i = topTask.mActivities.size() - 1; i >= 0; i--) {
- final ActivityRecord activityRecord = topTask.mActivities.get(i);
- if (activityRecord.userId == userId) {
+ if (activityStack.mStackId == FREEFORM_WORKSPACE_STACK_ID) {
+ // TODO: Only the topmost task should trigger credential confirmation. But first,
+ // there needs to be a way to block out locked task window surfaces.
+ final List<TaskRecord> tasks = activityStack.getAllTasks();
+ final int size = tasks.size();
+ for (int i = 0; i < size; i++) {
+ if (taskContainsActivityFromUser(tasks.get(i), userId)) {
+ return true;
+ }
+ }
+ } else {
+ final TaskRecord topTask = activityStack.topTask();
+ if (topTask == null) {
+ continue;
+ }
+ if (taskContainsActivityFromUser(topTask, userId)) {
return true;
}
}
@@ -774,6 +784,17 @@
return false;
}
+ private boolean taskContainsActivityFromUser(TaskRecord task, @UserIdInt int userId) {
+ // To handle the case that work app is in the task but just is not the top one.
+ for (int i = task.mActivities.size() - 1; i >= 0; i--) {
+ final ActivityRecord activityRecord = task.mActivities.get(i);
+ if (activityRecord.userId == userId) {
+ return true;
+ }
+ }
+ return false;
+ }
+
void setNextTaskIdForUserLocked(int taskId, int userId) {
final int currentTaskId = mCurTaskIdForUser.get(userId, -1);
if (taskId > currentTaskId) {
@@ -2164,6 +2185,32 @@
}
}
+ /**
+ * TODO: remove the need for this method. (b/30693465)
+ *
+ * @param userId user handle for the locked managed profile. Freeform tasks for this user will
+ * be moved to another stack, so they are not shown in the background.
+ */
+ void moveProfileTasksFromFreeformToFullscreenStackLocked(@UserIdInt int userId) {
+ final ActivityStack stack = getStack(FREEFORM_WORKSPACE_STACK_ID);
+ if (stack == null) {
+ return;
+ }
+ mWindowManager.deferSurfaceLayout();
+ try {
+ final ArrayList<TaskRecord> tasks = stack.getAllTasks();
+ final int size = tasks.size();
+ for (int i = size - 1; i >= 0; i--) {
+ if (taskContainsActivityFromUser(tasks.get(i), userId)) {
+ positionTaskInStackLocked(tasks.get(i).taskId, FULLSCREEN_WORKSPACE_STACK_ID,
+ /* position */ 0);
+ }
+ }
+ } finally {
+ mWindowManager.continueSurfaceLayout();
+ }
+ }
+
void resizeDockedStackLocked(Rect dockedBounds, Rect tempDockedTaskBounds,
Rect tempDockedTaskInsetBounds, Rect tempOtherTaskBounds, Rect tempOtherTaskInsetBounds,
boolean preserveWindows) {
@@ -2354,6 +2401,10 @@
// Preferred stack is the docked stack, but the task can't go in the docked stack.
// Put it in the fullscreen stack.
stackId = FULLSCREEN_WORKSPACE_STACK_ID;
+ } else if (stackId == FREEFORM_WORKSPACE_STACK_ID
+ && mService.mUserController.shouldConfirmCredentials(task.userId)) {
+ // Task is barred from the freeform stack. Put it in the fullscreen stack.
+ stackId = FULLSCREEN_WORKSPACE_STACK_ID;
}
if (task.stack != null) {
@@ -2426,6 +2477,12 @@
Slog.w(TAG, "Can not move unresizeable task=" + task
+ " to docked stack. Moving to stackId=" + stackId + " instead.");
}
+ if (stackId == FREEFORM_WORKSPACE_STACK_ID
+ && mService.mUserController.shouldConfirmCredentials(task.userId)) {
+ stackId = (prevStack != null) ? prevStack.mStackId : FULLSCREEN_WORKSPACE_STACK_ID;
+ Slog.w(TAG, "Can not move locked profile task=" + task
+ + " to freeform stack. Moving to stackId=" + stackId + " instead.");
+ }
// Temporarily disable resizeablility of task we are moving. We don't want it to be resized
// if a docked stack is created below which will lead to the stack we are moving from and
@@ -3708,6 +3765,12 @@
void activityRelaunchedLocked(IBinder token) {
mWindowManager.notifyAppRelaunchingFinished(token);
+ if (mService.isSleepingOrShuttingDownLocked()) {
+ final ActivityRecord r = ActivityRecord.isInStackLocked(token);
+ if (r != null) {
+ r.setSleeping(true, true);
+ }
+ }
}
void activityRelaunchingLocked(ActivityRecord r) {
diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java
index 844d467..cec37d8 100644
--- a/services/core/java/com/android/server/am/ActivityStarter.java
+++ b/services/core/java/com/android/server/am/ActivityStarter.java
@@ -660,10 +660,15 @@
ActivityStack targetStack;
ActivityStack fullscreenStack =
mSupervisor.getStack(FULLSCREEN_WORKSPACE_STACK_ID);
+ ActivityStack freeformStack =
+ mSupervisor.getStack(FREEFORM_WORKSPACE_STACK_ID);
if (fullscreenStack != null &&
fullscreenStack.getStackVisibilityLocked(null) != ActivityStack.STACK_INVISIBLE) {
// Single window case and the case that the docked stack is shown with fullscreen stack.
targetStack = fullscreenStack;
+ } else if (freeformStack != null &&
+ freeformStack.getStackVisibilityLocked(null) != ActivityStack.STACK_INVISIBLE) {
+ targetStack = freeformStack;
} else {
// The case that the docked stack is shown with recent.
targetStack = mSupervisor.getStack(HOME_STACK_ID);
diff --git a/services/core/java/com/android/server/am/AppErrors.java b/services/core/java/com/android/server/am/AppErrors.java
index 576f2b2..0c67c75 100644
--- a/services/core/java/com/android/server/am/AppErrors.java
+++ b/services/core/java/com/android/server/am/AppErrors.java
@@ -22,7 +22,6 @@
import com.android.internal.os.ProcessCpuTracker;
import com.android.server.Watchdog;
-import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityOptions;
import android.app.ActivityThread;
@@ -33,10 +32,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
-import android.content.pm.IPackageDataObserver;
-import android.content.pm.PackageManager;
import android.os.Binder;
-import android.os.Bundle;
import android.os.Message;
import android.os.Process;
import android.os.RemoteException;
@@ -59,7 +55,6 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.Set;
-import java.util.concurrent.Semaphore;
import static com.android.server.Watchdog.NATIVE_STACKS_OF_INTEREST;
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_ANR;
@@ -359,7 +354,7 @@
return;
}
- Message msg = Message.obtain();
+ final Message msg = Message.obtain();
msg.what = ActivityManagerService.SHOW_ERROR_UI_MSG;
task = data.task;
diff --git a/services/core/java/com/android/server/am/UriPermission.java b/services/core/java/com/android/server/am/UriPermission.java
index 6e371c1..0aa54d9 100644
--- a/services/core/java/com/android/server/am/UriPermission.java
+++ b/services/core/java/com/android/server/am/UriPermission.java
@@ -19,6 +19,7 @@
import android.content.Intent;
import android.os.UserHandle;
import android.util.ArraySet;
+import android.util.Log;
import android.util.Slog;
import com.android.server.am.ActivityManagerService.GrantUri;
@@ -93,7 +94,16 @@
}
private void updateModeFlags() {
+ final int oldModeFlags = modeFlags;
modeFlags = ownedModeFlags | globalModeFlags | persistableModeFlags | persistedModeFlags;
+
+ if (Log.isLoggable(TAG, Log.VERBOSE) && (modeFlags != oldModeFlags)) {
+ Slog.d(TAG,
+ "Permission for " + targetPkg + " to " + uri + " is changing from 0x"
+ + Integer.toHexString(oldModeFlags) + " to 0x"
+ + Integer.toHexString(modeFlags),
+ new Throwable());
+ }
}
/**
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 275870e..da0c05e 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -206,7 +206,6 @@
private static final int MSG_BT_HEADSET_CNCT_FAILED = 9;
private static final int MSG_SET_ALL_VOLUMES = 10;
private static final int MSG_REPORT_NEW_ROUTES = 12;
- private static final int MSG_SET_FORCE_BT_A2DP_USE = 13;
private static final int MSG_CHECK_MUSIC_ACTIVE = 14;
private static final int MSG_BROADCAST_AUDIO_BECOMING_NOISY = 15;
private static final int MSG_CONFIGURE_SAFE_MEDIA_VOLUME = 16;
@@ -511,6 +510,7 @@
private int mDeviceOrientation = Configuration.ORIENTATION_UNDEFINED;
// Request to override default use of A2DP for media.
+ // FIXME: remove when MediaRouter does not use setBluetoothA2dpOn() anymore
private boolean mBluetoothA2dpEnabled;
private final Object mBluetoothA2dpEnabledLock = new Object();
@@ -840,12 +840,6 @@
RotationHelper.updateOrientation();
}
- synchronized (mBluetoothA2dpEnabledLock) {
- AudioSystem.setForceUse(AudioSystem.FOR_MEDIA,
- mBluetoothA2dpEnabled ?
- AudioSystem.FORCE_NONE : AudioSystem.FORCE_NO_BT_A2DP);
- }
-
synchronized (mSettingsLock) {
AudioSystem.setForceUse(AudioSystem.FOR_DOCK,
mDockAudioMediaEnabled ?
@@ -2706,22 +2700,23 @@
return (mForcedUseForComm == AudioSystem.FORCE_BT_SCO);
}
- /** @see AudioManager#setBluetoothA2dpOn(boolean) */
+ /**
+ * Deprecated.
+ * Keep stub implementation until MediaRouter stops using it.
+ * @deprecated
+ * */
public void setBluetoothA2dpOn(boolean on) {
- synchronized (mBluetoothA2dpEnabledLock) {
- mBluetoothA2dpEnabled = on;
- sendMsg(mAudioHandler, MSG_SET_FORCE_BT_A2DP_USE, SENDMSG_QUEUE,
- AudioSystem.FOR_MEDIA,
- mBluetoothA2dpEnabled ? AudioSystem.FORCE_NONE : AudioSystem.FORCE_NO_BT_A2DP,
- null, 0);
- }
+ mBluetoothA2dpEnabled = on;
+ Log.e(TAG, "setBluetoothA2dpOn() is deprecated, now a no-op",
+ new Exception("Deprecated use of setBluetoothA2dpOn()"));
}
- /** @see AudioManager#isBluetoothA2dpOn() */
+ /** Deprecated.
+ * Keep stub implementation until MediaRouter stops using it
+ * @deprecated
+ * */
public boolean isBluetoothA2dpOn() {
- synchronized (mBluetoothA2dpEnabledLock) {
- return mBluetoothA2dpEnabled;
- }
+ return mBluetoothA2dpEnabled;
}
/** @see AudioManager#startBluetoothSco() */
@@ -4603,7 +4598,6 @@
break;
case MSG_SET_FORCE_USE:
- case MSG_SET_FORCE_BT_A2DP_USE:
setForceUse(msg.arg1, msg.arg2);
break;
@@ -4773,7 +4767,6 @@
VolumeStreamState streamState = mStreamStates[AudioSystem.STREAM_MUSIC];
sendMsg(mAudioHandler, MSG_SET_DEVICE_VOLUME, SENDMSG_QUEUE,
AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, 0, streamState, 0);
- setBluetoothA2dpOnInt(true);
AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP,
AudioSystem.DEVICE_STATE_AVAILABLE, address, name);
// Reset A2DP suspend state each time a new sink is connected
@@ -5106,11 +5099,6 @@
}
synchronized (mConnectedDevices) {
- if ((state == 0) && ((device == AudioSystem.DEVICE_OUT_WIRED_HEADSET) ||
- (device == AudioSystem.DEVICE_OUT_WIRED_HEADPHONE) ||
- (device == AudioSystem.DEVICE_OUT_LINE))) {
- setBluetoothA2dpOnInt(true);
- }
boolean isUsb = ((device & ~AudioSystem.DEVICE_OUT_ALL_USB) == 0) ||
(((device & AudioSystem.DEVICE_BIT_IN) != 0) &&
((device & ~AudioSystem.DEVICE_IN_ALL_USB) == 0));
@@ -5119,11 +5107,6 @@
return;
}
if (state != 0) {
- if ((device == AudioSystem.DEVICE_OUT_WIRED_HEADSET) ||
- (device == AudioSystem.DEVICE_OUT_WIRED_HEADPHONE) ||
- (device == AudioSystem.DEVICE_OUT_LINE)) {
- setBluetoothA2dpOnInt(false);
- }
if ((device & mSafeMediaVolumeDevices) != 0) {
sendMsg(mAudioHandler,
MSG_CHECK_MUSIC_ACTIVE,
@@ -5589,27 +5572,9 @@
}
}
- // Handles request to override default use of A2DP for media.
- // Must be called synchronized on mConnectedDevices
- public void setBluetoothA2dpOnInt(boolean on) {
- synchronized (mBluetoothA2dpEnabledLock) {
- mBluetoothA2dpEnabled = on;
- mAudioHandler.removeMessages(MSG_SET_FORCE_BT_A2DP_USE);
- setForceUseInt_SyncDevices(AudioSystem.FOR_MEDIA,
- mBluetoothA2dpEnabled ? AudioSystem.FORCE_NONE : AudioSystem.FORCE_NO_BT_A2DP);
- }
- }
-
// Must be called synchronized on mConnectedDevices
private void setForceUseInt_SyncDevices(int usage, int config) {
switch (usage) {
- case AudioSystem.FOR_MEDIA:
- if (config == AudioSystem.FORCE_NO_BT_A2DP) {
- mBecomingNoisyIntentDevices &= ~AudioSystem.DEVICE_OUT_ALL_A2DP;
- } else { // config == AudioSystem.FORCE_NONE
- mBecomingNoisyIntentDevices |= AudioSystem.DEVICE_OUT_ALL_A2DP;
- }
- break;
case AudioSystem.FOR_DOCK:
if (config == AudioSystem.FORCE_ANALOG_DOCK) {
mBecomingNoisyIntentDevices |= AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET;
diff --git a/services/core/java/com/android/server/audio/FocusRequester.java b/services/core/java/com/android/server/audio/FocusRequester.java
index 49be879..cc181141 100644
--- a/services/core/java/com/android/server/audio/FocusRequester.java
+++ b/services/core/java/com/android/server/audio/FocusRequester.java
@@ -40,9 +40,9 @@
private static final String TAG = "MediaFocusControl";
private static final boolean DEBUG = false;
- private AudioFocusDeathHandler mDeathHandler;
- private final IAudioFocusDispatcher mFocusDispatcher; // may be null
- private final IBinder mSourceRef;
+ private AudioFocusDeathHandler mDeathHandler; // may be null
+ private IAudioFocusDispatcher mFocusDispatcher; // may be null
+ private final IBinder mSourceRef; // may be null
private final String mClientId;
private final String mPackageName;
private final int mCallingUid;
@@ -205,6 +205,7 @@
if (mSourceRef != null && mDeathHandler != null) {
mSourceRef.unlinkToDeath(mDeathHandler, 0);
mDeathHandler = null;
+ mFocusDispatcher = null;
}
} catch (java.util.NoSuchElementException e) {
Log.e(TAG, "FocusRequester.release() hit ", e);
@@ -275,12 +276,13 @@
mFocusLossReceived = AudioManager.AUDIOFOCUS_NONE;
mFocusController.notifyExtPolicyFocusGrant_syncAf(toAudioFocusInfo(),
AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
- if (mFocusDispatcher != null) {
+ final IAudioFocusDispatcher fd = mFocusDispatcher;
+ if (fd != null) {
if (DEBUG) {
Log.v(TAG, "dispatching " + focusChangeToString(focusGain) + " to "
+ mClientId);
}
- mFocusDispatcher.dispatchAudioFocusChange(focusGain, mClientId);
+ fd.dispatchAudioFocusChange(focusGain, mClientId);
}
} catch (android.os.RemoteException e) {
Log.e(TAG, "Failure to signal gain of audio focus due to: ", e);
@@ -311,14 +313,15 @@
toAudioFocusInfo(), false /* wasDispatched */);
return;
}
- if (mFocusDispatcher != null) {
+ final IAudioFocusDispatcher fd = mFocusDispatcher;
+ if (fd != null) {
if (DEBUG) {
Log.v(TAG, "dispatching " + focusChangeToString(mFocusLossReceived) + " to "
+ mClientId);
}
mFocusController.notifyExtPolicyFocusLoss_syncAf(
toAudioFocusInfo(), true /* wasDispatched */);
- mFocusDispatcher.dispatchAudioFocusChange(mFocusLossReceived, mClientId);
+ fd.dispatchAudioFocusChange(mFocusLossReceived, mClientId);
}
}
} catch (android.os.RemoteException e) {
diff --git a/services/core/java/com/android/server/audio/MediaFocusControl.java b/services/core/java/com/android/server/audio/MediaFocusControl.java
index 278d70b..206834e 100644
--- a/services/core/java/com/android/server/audio/MediaFocusControl.java
+++ b/services/core/java/com/android/server/audio/MediaFocusControl.java
@@ -160,6 +160,7 @@
Log.i(TAG, "AudioFocus removeFocusStackEntry(): removing entry for "
+ clientToRemove);
stackIterator.remove();
+ // stack entry not used anymore, clear references
fr.release();
}
}
@@ -171,7 +172,7 @@
* Called synchronized on mAudioFocusLock
* Remove focus listeners from the focus stack for a particular client when it has died.
*/
- private void removeFocusStackEntryForClient(IBinder cb) {
+ private void removeFocusStackEntryOnDeath(IBinder cb) {
// is the owner of the audio focus part of the client to remove?
boolean isTopOfStackForClientToRemove = !mFocusStack.isEmpty() &&
mFocusStack.peek().hasSameBinder(cb);
@@ -181,9 +182,10 @@
while(stackIterator.hasNext()) {
FocusRequester fr = stackIterator.next();
if(fr.hasSameBinder(cb)) {
- Log.i(TAG, "AudioFocus removeFocusStackEntry(): removing entry for " + cb);
+ Log.i(TAG, "AudioFocus removeFocusStackEntryOnDeath(): removing entry for " + cb);
stackIterator.remove();
- // the client just died, no need to unlink to its death
+ // stack entry not used anymore, clear references
+ fr.release();
}
}
if (isTopOfStackForClientToRemove) {
@@ -257,14 +259,9 @@
public void binderDied() {
synchronized(mAudioFocusLock) {
- Log.w(TAG, " AudioFocus audio focus client died");
- removeFocusStackEntryForClient(mCb);
+ removeFocusStackEntryOnDeath(mCb);
}
}
-
- public IBinder getBinder() {
- return mCb;
- }
}
/**
@@ -420,6 +417,7 @@
// (premature death == death before abandoning focus)
// Register for client death notification
AudioFocusDeathHandler afdh = new AudioFocusDeathHandler(cb);
+
try {
cb.linkToDeath(afdh, 0);
} catch (RemoteException e) {
diff --git a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
index b0330b9..e750fec 100644
--- a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
+++ b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
@@ -104,14 +104,16 @@
// -----------------------------------------------
// If a network has no chance of satisfying any requests (even if it were to become validated
// and enter state #5), ConnectivityService will disconnect the NetworkAgent's AsyncChannel.
-// If the network ever for any period of time had satisfied a NetworkRequest (i.e. had been
-// the highest scoring that satisfied the NetworkRequest's constraints), but is no longer the
-// highest scoring network for any NetworkRequest, then there will be a 30s pause before
-// ConnectivityService disconnects the NetworkAgent's AsyncChannel. During this pause the
-// network is considered "lingering". This pause exists to allow network communication to be
-// wrapped up rather than abruptly terminated. During this pause if the network begins satisfying
-// a NetworkRequest, ConnectivityService will cancel the future disconnection of the NetworkAgent's
-// AsyncChannel, and the network is no longer considered "lingering".
+//
+// If the network was satisfying a foreground NetworkRequest (i.e. had been the highest scoring that
+// satisfied the NetworkRequest's constraints), but is no longer the highest scoring network for any
+// foreground NetworkRequest, then there will be a 30s pause to allow network communication to be
+// wrapped up rather than abruptly terminated. During this pause the network is said to be
+// "lingering". During this pause if the network begins satisfying a foreground NetworkRequest,
+// ConnectivityService will cancel the future disconnection of the NetworkAgent's AsyncChannel, and
+// the network is no longer considered "lingering". After the linger timer expires, if the network
+// is satisfying one or more background NetworkRequests it is kept up in the background. If it is
+// not, ConnectivityService disconnects the NetworkAgent's AsyncChannel.
public class NetworkAgentInfo implements Comparable<NetworkAgentInfo> {
public NetworkInfo networkInfo;
// This Network object should always be used if possible, so as to encourage reuse of the
@@ -227,11 +229,13 @@
// The list of NetworkRequests being satisfied by this Network.
private final SparseArray<NetworkRequest> mNetworkRequests = new SparseArray<>();
- // The list of NetworkRequests that this Network previously satisfied with the highest
- // score. A non-empty list indicates that if this Network was validated it is lingered.
+
// How many of the satisfied requests are actual requests and not listens.
private int mNumRequestNetworkRequests = 0;
+ // How many of the satisfied requests are of type BACKGROUND_REQUEST.
+ private int mNumBackgroundNetworkRequests = 0;
+
public final Messenger messenger;
public final AsyncChannel asyncChannel;
@@ -265,6 +269,32 @@
//
// These functions must only called on ConnectivityService's main thread.
+ private static final boolean ADD = true;
+ private static final boolean REMOVE = false;
+
+ private void updateRequestCounts(boolean add, NetworkRequest request) {
+ int delta = add ? +1 : -1;
+ switch (request.type) {
+ case REQUEST:
+ case TRACK_DEFAULT:
+ mNumRequestNetworkRequests += delta;
+ break;
+
+ case BACKGROUND_REQUEST:
+ mNumRequestNetworkRequests += delta;
+ mNumBackgroundNetworkRequests += delta;
+ break;
+
+ case LISTEN:
+ break;
+
+ case NONE:
+ default:
+ Log.wtf(TAG, "Unhandled request type " + request.type);
+ break;
+ }
+ }
+
/**
* Add {@code networkRequest} to this network as it's satisfied by this network.
* @return true if {@code networkRequest} was added or false if {@code networkRequest} was
@@ -273,9 +303,15 @@
public boolean addRequest(NetworkRequest networkRequest) {
NetworkRequest existing = mNetworkRequests.get(networkRequest.requestId);
if (existing == networkRequest) return false;
- if (existing != null && existing.isRequest()) mNumRequestNetworkRequests--;
+ if (existing != null) {
+ // Should only happen if the requestId wraps. If that happens lots of other things will
+ // be broken as well.
+ Log.wtf(TAG, String.format("Duplicate requestId for %s and %s on %s",
+ networkRequest, existing, name()));
+ updateRequestCounts(REMOVE, existing);
+ }
mNetworkRequests.put(networkRequest.requestId, networkRequest);
- if (networkRequest.isRequest()) mNumRequestNetworkRequests++;
+ updateRequestCounts(ADD, networkRequest);
return true;
}
@@ -285,9 +321,9 @@
public void removeRequest(int requestId) {
NetworkRequest existing = mNetworkRequests.get(requestId);
if (existing == null) return;
+ updateRequestCounts(REMOVE, existing);
mNetworkRequests.remove(requestId);
if (existing.isRequest()) {
- mNumRequestNetworkRequests--;
unlingerRequest(existing);
}
}
@@ -316,12 +352,37 @@
}
/**
+ * Returns the number of requests currently satisfied by this network of type
+ * {@link android.net.NetworkRequest.Type.BACKGROUND_REQUEST}.
+ */
+ public int numBackgroundNetworkRequests() {
+ return mNumBackgroundNetworkRequests;
+ }
+
+ /**
+ * Returns the number of foreground requests currently satisfied by this network.
+ */
+ public int numForegroundNetworkRequests() {
+ return mNumRequestNetworkRequests - mNumBackgroundNetworkRequests;
+ }
+
+ /**
* Returns the number of requests of any type currently satisfied by this network.
*/
public int numNetworkRequests() {
return mNetworkRequests.size();
}
+ /**
+ * Returns whether the network is a background network. A network is a background network if it
+ * is satisfying no foreground requests and at least one background request. (If it did not have
+ * a background request, it would be a speculative network that is only being kept up because
+ * it might satisfy a request if it validated).
+ */
+ public boolean isBackgroundNetwork() {
+ return !isVPN() && numForegroundNetworkRequests() == 0 && mNumBackgroundNetworkRequests > 0;
+ }
+
// Does this network satisfy request?
public boolean satisfies(NetworkRequest request) {
return created &&
diff --git a/services/core/java/com/android/server/content/ContentService.java b/services/core/java/com/android/server/content/ContentService.java
index 12955f5..4e236d1 100644
--- a/services/core/java/com/android/server/content/ContentService.java
+++ b/services/core/java/com/android/server/content/ContentService.java
@@ -482,7 +482,7 @@
SyncManager syncManager = getSyncManager();
if (syncManager != null) {
syncManager.scheduleSync(account, userId, uId, authority, extras,
- false /* onlyThoseWithUnkownSyncableState */);
+ SyncStorageEngine.AuthorityInfo.UNDEFINED);
}
} finally {
restoreCallingIdentity(identityToken);
@@ -548,7 +548,7 @@
} else {
syncManager.scheduleSync(
request.getAccount(), userId, callerUid, request.getProvider(), extras,
- false /* onlyThoseWithUnknownSyncableState */);
+ SyncStorageEngine.AuthorityInfo.UNDEFINED);
}
} finally {
restoreCallingIdentity(identityToken);
diff --git a/services/core/java/com/android/server/content/SyncManager.java b/services/core/java/com/android/server/content/SyncManager.java
index 705eae6..6870c56 100644
--- a/services/core/java/com/android/server/content/SyncManager.java
+++ b/services/core/java/com/android/server/content/SyncManager.java
@@ -48,6 +48,7 @@
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.PackageManagerInternal;
import android.content.pm.ProviderInfo;
import android.content.pm.RegisteredServicesCache;
import android.content.pm.RegisteredServicesCacheListener;
@@ -324,6 +325,8 @@
private final AccountManagerInternal mAccountManagerInternal;
+ private final PackageManagerInternal mPackageManagerInternal;
+
private List<UserInfo> getAllUsers() {
return mUserManager.getUsers();
}
@@ -504,7 +507,7 @@
@Override
public void onSyncRequest(SyncStorageEngine.EndPoint info, int reason, Bundle extras) {
scheduleSync(info.account, info.userId, reason, info.provider, extras,
- false);
+ AuthorityInfo.UNDEFINED);
}
});
@@ -534,7 +537,7 @@
if (!removed) {
scheduleSync(null, UserHandle.USER_ALL,
SyncOperation.REASON_SERVICE_CHANGED,
- type.authority, null, false /* onlyThoseWithUnkownSyncableState */);
+ type.authority, null, AuthorityInfo.UNDEFINED);
}
}
}, mSyncHandler);
@@ -575,6 +578,16 @@
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
mAccountManager = (AccountManager) mContext.getSystemService(Context.ACCOUNT_SERVICE);
mAccountManagerInternal = LocalServices.getService(AccountManagerInternal.class);
+ mPackageManagerInternal = LocalServices.getService(PackageManagerInternal.class);
+
+ mAccountManagerInternal.addOnAppPermissionChangeListener((Account account, int uid) -> {
+ // If the UID gained access to the account kick-off syncs lacking account access
+ if (mAccountManagerInternal.hasAccountAccess(account, uid)) {
+ scheduleSync(account, UserHandle.getUserId(uid),
+ SyncOperation.REASON_ACCOUNTS_UPDATED,
+ null, null, AuthorityInfo.SYNCABLE_NO_ACCOUNT_ACCESS);
+ }
+ });
mBatteryStats = IBatteryStats.Stub.asInterface(ServiceManager.getService(
BatteryStats.SERVICE_NAME));
@@ -671,7 +684,7 @@
service.type.accountType, userHandle)) {
if (!canAccessAccount(account, packageName, userId)) {
mAccountManager.updateAppPermission(account,
- AccountManager.ACCOUNT_ACCESS_TOKEN, service.uid, true);
+ AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE, service.uid, true);
}
}
}
@@ -778,10 +791,11 @@
* @param extras a Map of SyncAdapter-specific information to control
* syncs of a specific provider. Can be null. Is ignored
* if the url is null.
- * @param onlyThoseWithUnkownSyncableState Only sync authorities that have unknown state.
+ * @param targetSyncState Only sync authorities that have the specified sync state.
+ * Use {@link AuthorityInfo#UNDEFINED} to sync all authorities.
*/
public void scheduleSync(Account requestedAccount, int userId, int reason,
- String requestedAuthority, Bundle extras, boolean onlyThoseWithUnkownSyncableState) {
+ String requestedAuthority, Bundle extras, int targetSyncState) {
final boolean isLoggable = Log.isLoggable(TAG, Log.VERBOSE);
if (extras == null) {
extras = new Bundle();
@@ -881,14 +895,18 @@
+ "isSyncable == SYNCABLE_NO_ACCOUNT_ACCESS");
}
Bundle finalExtras = new Bundle(extras);
+ String packageName = syncAdapterInfo.componentName.getPackageName();
+ // If the app did not run and has no account access, done
+ if (!mPackageManagerInternal.wasPackageEverLaunched(packageName, userId)) {
+ continue;
+ }
mAccountManagerInternal.requestAccountAccess(account.account,
- syncAdapterInfo.componentName.getPackageName(),
- UserHandle.getUserId(owningUid),
+ packageName, userId,
new RemoteCallback((Bundle result) -> {
if (result != null
&& result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT)) {
scheduleSync(account.account, userId, reason, authority,
- finalExtras, onlyThoseWithUnkownSyncableState);
+ finalExtras, targetSyncState);
}
}
));
@@ -903,9 +921,10 @@
isSyncable = AuthorityInfo.SYNCABLE;
}
- if (onlyThoseWithUnkownSyncableState && isSyncable >= 0) {
+ if (targetSyncState != AuthorityInfo.UNDEFINED && targetSyncState != isSyncable) {
continue;
}
+
if (!syncAdapterInfo.type.supportsUploading() && uploadOnly) {
continue;
}
@@ -931,7 +950,7 @@
final String owningPackage = syncAdapterInfo.componentName.getPackageName();
- if (isSyncable < 0) {
+ if (isSyncable == AuthorityInfo.NOT_INITIALIZED) {
// Initialisation sync.
Bundle newExtras = new Bundle();
newExtras.putBoolean(ContentResolver.SYNC_EXTRAS_INITIALIZE, true);
@@ -950,8 +969,8 @@
owningUid, owningPackage, reason, source,
authority, newExtras, allowParallelSyncs)
);
- }
- if (!onlyThoseWithUnkownSyncableState) {
+ } else if (targetSyncState == AuthorityInfo.UNDEFINED
+ || targetSyncState == isSyncable) {
if (isLoggable) {
Slog.v(TAG, "scheduleSync:"
+ " delay until " + delayUntil
@@ -1076,7 +1095,7 @@
final Bundle extras = new Bundle();
extras.putBoolean(ContentResolver.SYNC_EXTRAS_UPLOAD, true);
scheduleSync(account, userId, reason, authority, extras,
- false /* onlyThoseWithUnkownSyncableState */);
+ AuthorityInfo.UNDEFINED);
}
public SyncAdapterType[] getSyncAdapterTypes(int userId) {
@@ -1535,7 +1554,7 @@
mContext.getOpPackageName());
for (Account account : accounts) {
scheduleSync(account, userId, SyncOperation.REASON_USER_START, null, null,
- true /* onlyThoseWithUnknownSyncableState */);
+ AuthorityInfo.NOT_INITIALIZED);
}
}
@@ -2714,7 +2733,8 @@
if (syncTargets != null) {
scheduleSync(syncTargets.account, syncTargets.userId,
- SyncOperation.REASON_ACCOUNTS_UPDATED, syncTargets.provider, null, true);
+ SyncOperation.REASON_ACCOUNTS_UPDATED, syncTargets.provider,
+ null, AuthorityInfo.NOT_INITIALIZED);
}
}
@@ -2786,9 +2806,14 @@
final int syncOpState = computeSyncOpState(op);
switch (syncOpState) {
case SYNC_OP_STATE_INVALID_NO_ACCOUNT_ACCESS: {
+ String packageName = op.owningPackage;
+ final int userId = UserHandle.getUserId(op.owningUid);
+ // If the app did not run and has no account access, done
+ if (!mPackageManagerInternal.wasPackageEverLaunched(packageName, userId)) {
+ return;
+ }
mAccountManagerInternal.requestAccountAccess(op.target.account,
- op.owningPackage, UserHandle.getUserId(op.owningUid),
- new RemoteCallback((Bundle result) -> {
+ packageName, userId, new RemoteCallback((Bundle result) -> {
if (result != null
&& result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT)) {
updateOrAddPeriodicSync(target, pollFrequency, flex, extras);
diff --git a/services/core/java/com/android/server/content/SyncStorageEngine.java b/services/core/java/com/android/server/content/SyncStorageEngine.java
index 8289bae..069ae73 100644
--- a/services/core/java/com/android/server/content/SyncStorageEngine.java
+++ b/services/core/java/com/android/server/content/SyncStorageEngine.java
@@ -211,6 +211,12 @@
public static class AuthorityInfo {
// Legal values of getIsSyncable
+
+ /**
+ * The syncable state is undefined.
+ */
+ public static final int UNDEFINED = -2;
+
/**
* Default state for a newly installed adapter. An uninitialized adapter will receive an
* initialization sync which are governed by a different set of rules to that of regular
diff --git a/services/core/java/com/android/server/display/NightDisplayService.java b/services/core/java/com/android/server/display/NightDisplayService.java
index e7fd3d8..0ec48b9 100644
--- a/services/core/java/com/android/server/display/NightDisplayService.java
+++ b/services/core/java/com/android/server/display/NightDisplayService.java
@@ -33,8 +33,11 @@
import android.opengl.Matrix;
import android.os.Handler;
import android.os.Looper;
+import android.os.RemoteException;
import android.os.UserHandle;
import android.provider.Settings.Secure;
+import android.service.vr.IVrManager;
+import android.service.vr.IVrStateCallbacks;
import android.util.MathUtils;
import android.util.Slog;
import android.view.animation.AnimationUtils;
@@ -44,7 +47,9 @@
import com.android.server.twilight.TwilightListener;
import com.android.server.twilight.TwilightManager;
import com.android.server.twilight.TwilightState;
+import com.android.server.vr.VrManagerService;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.Calendar;
import java.util.TimeZone;
@@ -83,6 +88,31 @@
private static final ColorMatrixEvaluator COLOR_MATRIX_EVALUATOR = new ColorMatrixEvaluator();
private final Handler mHandler;
+ private final AtomicBoolean mIgnoreAllColorMatrixChanges = new AtomicBoolean();
+ private final IVrStateCallbacks mVrStateCallbacks = new IVrStateCallbacks.Stub() {
+ @Override
+ public void onVrStateChanged(final boolean enabled) {
+ // Turn off all night mode display stuff while device is in VR mode.
+ mIgnoreAllColorMatrixChanges.set(enabled);
+ mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ // Cancel in-progress animations
+ if (mColorMatrixAnimator != null) {
+ mColorMatrixAnimator.cancel();
+ }
+
+ final DisplayTransformManager dtm =
+ getLocalService(DisplayTransformManager.class);
+ if (enabled) {
+ dtm.setColorMatrix(LEVEL_COLOR_MATRIX_NIGHT_DISPLAY, MATRIX_IDENTITY);
+ } else if (mController.isActivated()) {
+ dtm.setColorMatrix(LEVEL_COLOR_MATRIX_NIGHT_DISPLAY, MATRIX_NIGHT);
+ }
+ }
+ });
+ }
+ };
private int mCurrentUser = UserHandle.USER_NULL;
private ContentObserver mUserSetupObserver;
@@ -105,7 +135,17 @@
@Override
public void onBootPhase(int phase) {
- if (phase == PHASE_BOOT_COMPLETED) {
+ if (phase == PHASE_SYSTEM_SERVICES_READY) {
+ IVrManager vrManager =
+ (IVrManager) getBinderService(VrManagerService.VR_MANAGER_BINDER_SERVICE);
+ if (vrManager != null) {
+ try {
+ vrManager.registerListener(mVrStateCallbacks);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "Failed to register VR mode state listener: " + e);
+ }
+ }
+ } else if (phase == PHASE_BOOT_COMPLETED) {
mBootCompleted = true;
// Register listeners now that boot is complete.
@@ -234,6 +274,11 @@
mColorMatrixAnimator.cancel();
}
+ // Don't do any color matrix change animations if we are ignoring them anyway.
+ if (mIgnoreAllColorMatrixChanges.get()) {
+ return;
+ }
+
final DisplayTransformManager dtm = getLocalService(DisplayTransformManager.class);
final float[] from = dtm.getColorMatrix(LEVEL_COLOR_MATRIX_NIGHT_DISPLAY);
final float[] to = mIsActivated ? MATRIX_NIGHT : null;
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index d5da66b..53dbed2 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -90,6 +90,7 @@
import android.Manifest;
import android.annotation.IntDef;
+import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.AppGlobals;
import android.app.AppOpsManager;
@@ -141,6 +142,7 @@
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.os.ServiceManager;
+import android.os.Trace;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
@@ -289,6 +291,7 @@
private static final int MSG_UPDATE_INTERFACE_QUOTA = 10;
private static final int MSG_REMOVE_INTERFACE_QUOTA = 11;
private static final int MSG_RESTRICT_BACKGROUND_BLACKLIST_CHANGED = 12;
+ private static final int MSG_SET_FIREWALL_RULES = 13;
private final Context mContext;
private final IActivityManager mActivityManager;
@@ -570,117 +573,127 @@
}
public void systemReady() {
- if (!isBandwidthControlEnabled()) {
- Slog.w(TAG, "bandwidth controls disabled, unable to enforce policy");
- return;
- }
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "systemReady");
+ try {
+ if (!isBandwidthControlEnabled()) {
+ Slog.w(TAG, "bandwidth controls disabled, unable to enforce policy");
+ return;
+ }
- mUsageStats = LocalServices.getService(UsageStatsManagerInternal.class);
+ mUsageStats = LocalServices.getService(UsageStatsManagerInternal.class);
- mPackageMonitor.register(mContext, mHandler.getLooper(), UserHandle.ALL, true);
+ mPackageMonitor.register(mContext, mHandler.getLooper(), UserHandle.ALL, true);
- synchronized (mUidRulesFirstLock) {
- synchronized (mNetworkPoliciesSecondLock) {
- updatePowerSaveWhitelistUL();
- mPowerManagerInternal = LocalServices.getService(PowerManagerInternal.class);
- mPowerManagerInternal.registerLowPowerModeObserver(
- new PowerManagerInternal.LowPowerModeListener() {
- @Override
- public void onLowPowerModeChanged(boolean enabled) {
- if (LOGD) Slog.d(TAG, "onLowPowerModeChanged(" + enabled + ")");
- synchronized (mUidRulesFirstLock) {
- if (mRestrictPower != enabled) {
- mRestrictPower = enabled;
- updateRulesForRestrictPowerUL();
+ synchronized (mUidRulesFirstLock) {
+ synchronized (mNetworkPoliciesSecondLock) {
+ updatePowerSaveWhitelistUL();
+ mPowerManagerInternal = LocalServices.getService(PowerManagerInternal.class);
+ mPowerManagerInternal.registerLowPowerModeObserver(
+ new PowerManagerInternal.LowPowerModeListener() {
+ @Override
+ public void onLowPowerModeChanged(boolean enabled) {
+ if (LOGD) Slog.d(TAG, "onLowPowerModeChanged(" + enabled + ")");
+ synchronized (mUidRulesFirstLock) {
+ if (mRestrictPower != enabled) {
+ mRestrictPower = enabled;
+ updateRulesForRestrictPowerUL();
+ }
}
}
+ });
+ mRestrictPower = mPowerManagerInternal.getLowPowerModeEnabled();
+
+ mSystemReady = true;
+
+ // read policy from disk
+ readPolicyAL();
+
+ if (addDefaultRestrictBackgroundWhitelistUidsUL()) {
+ writePolicyAL();
}
- });
- mRestrictPower = mPowerManagerInternal.getLowPowerModeEnabled();
- mSystemReady = true;
-
- // read policy from disk
- readPolicyAL();
-
- if (addDefaultRestrictBackgroundWhitelistUidsUL()) {
- writePolicyAL();
+ setRestrictBackgroundUL(mRestrictBackground);
+ updateRulesForGlobalChangeAL(false);
+ updateNotificationsNL();
}
-
- setRestrictBackgroundUL(mRestrictBackground);
- updateRulesForGlobalChangeAL(false);
- updateNotificationsNL();
}
+
+ try {
+ mActivityManager.registerUidObserver(mUidObserver,
+ ActivityManager.UID_OBSERVER_PROCSTATE|ActivityManager.UID_OBSERVER_GONE);
+ mNetworkManager.registerObserver(mAlertObserver);
+ } catch (RemoteException e) {
+ // ignored; both services live in system_server
+ }
+
+ // listen for changes to power save whitelist
+ final IntentFilter whitelistFilter = new IntentFilter(
+ PowerManager.ACTION_POWER_SAVE_WHITELIST_CHANGED);
+ mContext.registerReceiver(mPowerSaveWhitelistReceiver, whitelistFilter, null, mHandler);
+
+ DeviceIdleController.LocalService deviceIdleService
+ = LocalServices.getService(DeviceIdleController.LocalService.class);
+ deviceIdleService.setNetworkPolicyTempWhitelistCallback(mTempPowerSaveChangedCallback);
+
+ // watch for network interfaces to be claimed
+ final IntentFilter connFilter = new IntentFilter(CONNECTIVITY_ACTION);
+ mContext.registerReceiver(mConnReceiver, connFilter, CONNECTIVITY_INTERNAL, mHandler);
+
+ // listen for package changes to update policy
+ final IntentFilter packageFilter = new IntentFilter();
+ packageFilter.addAction(ACTION_PACKAGE_ADDED);
+ packageFilter.addDataScheme("package");
+ mContext.registerReceiver(mPackageReceiver, packageFilter, null, mHandler);
+
+ // listen for UID changes to update policy
+ mContext.registerReceiver(
+ mUidRemovedReceiver, new IntentFilter(ACTION_UID_REMOVED), null, mHandler);
+
+ // listen for user changes to update policy
+ final IntentFilter userFilter = new IntentFilter();
+ userFilter.addAction(ACTION_USER_ADDED);
+ userFilter.addAction(ACTION_USER_REMOVED);
+ mContext.registerReceiver(mUserReceiver, userFilter, null, mHandler);
+
+ // listen for stats update events
+ final IntentFilter statsFilter = new IntentFilter(ACTION_NETWORK_STATS_UPDATED);
+ mContext.registerReceiver(
+ mStatsReceiver, statsFilter, READ_NETWORK_USAGE_HISTORY, mHandler);
+
+ // listen for restrict background changes from notifications
+ final IntentFilter allowFilter = new IntentFilter(ACTION_ALLOW_BACKGROUND);
+ mContext.registerReceiver(mAllowReceiver, allowFilter, MANAGE_NETWORK_POLICY, mHandler);
+
+ // listen for snooze warning from notifications
+ final IntentFilter snoozeWarningFilter = new IntentFilter(ACTION_SNOOZE_WARNING);
+ mContext.registerReceiver(mSnoozeWarningReceiver, snoozeWarningFilter,
+ MANAGE_NETWORK_POLICY, mHandler);
+
+ // listen for configured wifi networks to be removed
+ final IntentFilter wifiConfigFilter =
+ new IntentFilter(CONFIGURED_NETWORKS_CHANGED_ACTION);
+ mContext.registerReceiver(mWifiConfigReceiver, wifiConfigFilter, null, mHandler);
+
+ // listen for wifi state changes to catch metered hint
+ final IntentFilter wifiStateFilter = new IntentFilter(
+ WifiManager.NETWORK_STATE_CHANGED_ACTION);
+ mContext.registerReceiver(mWifiStateReceiver, wifiStateFilter, null, mHandler);
+
+ mUsageStats.addAppIdleStateChangeListener(new AppIdleStateChangeListener());
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
}
-
- try {
- mActivityManager.registerUidObserver(mUidObserver,
- ActivityManager.UID_OBSERVER_PROCSTATE|ActivityManager.UID_OBSERVER_GONE);
- mNetworkManager.registerObserver(mAlertObserver);
- } catch (RemoteException e) {
- // ignored; both services live in system_server
- }
-
- // listen for changes to power save whitelist
- final IntentFilter whitelistFilter = new IntentFilter(
- PowerManager.ACTION_POWER_SAVE_WHITELIST_CHANGED);
- mContext.registerReceiver(mPowerSaveWhitelistReceiver, whitelistFilter, null, mHandler);
-
- DeviceIdleController.LocalService deviceIdleService
- = LocalServices.getService(DeviceIdleController.LocalService.class);
- deviceIdleService.setNetworkPolicyTempWhitelistCallback(mTempPowerSaveChangedCallback);
-
- // watch for network interfaces to be claimed
- final IntentFilter connFilter = new IntentFilter(CONNECTIVITY_ACTION);
- mContext.registerReceiver(mConnReceiver, connFilter, CONNECTIVITY_INTERNAL, mHandler);
-
- // listen for package changes to update policy
- final IntentFilter packageFilter = new IntentFilter();
- packageFilter.addAction(ACTION_PACKAGE_ADDED);
- packageFilter.addDataScheme("package");
- mContext.registerReceiver(mPackageReceiver, packageFilter, null, mHandler);
-
- // listen for UID changes to update policy
- mContext.registerReceiver(
- mUidRemovedReceiver, new IntentFilter(ACTION_UID_REMOVED), null, mHandler);
-
- // listen for user changes to update policy
- final IntentFilter userFilter = new IntentFilter();
- userFilter.addAction(ACTION_USER_ADDED);
- userFilter.addAction(ACTION_USER_REMOVED);
- mContext.registerReceiver(mUserReceiver, userFilter, null, mHandler);
-
- // listen for stats update events
- final IntentFilter statsFilter = new IntentFilter(ACTION_NETWORK_STATS_UPDATED);
- mContext.registerReceiver(
- mStatsReceiver, statsFilter, READ_NETWORK_USAGE_HISTORY, mHandler);
-
- // listen for restrict background changes from notifications
- final IntentFilter allowFilter = new IntentFilter(ACTION_ALLOW_BACKGROUND);
- mContext.registerReceiver(mAllowReceiver, allowFilter, MANAGE_NETWORK_POLICY, mHandler);
-
- // listen for snooze warning from notifications
- final IntentFilter snoozeWarningFilter = new IntentFilter(ACTION_SNOOZE_WARNING);
- mContext.registerReceiver(mSnoozeWarningReceiver, snoozeWarningFilter,
- MANAGE_NETWORK_POLICY, mHandler);
-
- // listen for configured wifi networks to be removed
- final IntentFilter wifiConfigFilter = new IntentFilter(CONFIGURED_NETWORKS_CHANGED_ACTION);
- mContext.registerReceiver(mWifiConfigReceiver, wifiConfigFilter, null, mHandler);
-
- // listen for wifi state changes to catch metered hint
- final IntentFilter wifiStateFilter = new IntentFilter(
- WifiManager.NETWORK_STATE_CHANGED_ACTION);
- mContext.registerReceiver(mWifiStateReceiver, wifiStateFilter, null, mHandler);
-
- mUsageStats.addAppIdleStateChangeListener(new AppIdleStateChangeListener());
-
}
final private IUidObserver mUidObserver = new IUidObserver.Stub() {
@Override public void onUidStateChanged(int uid, int procState) throws RemoteException {
- synchronized (mUidRulesFirstLock) {
- updateUidStateUL(uid, procState);
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "onUidStateChanged");
+ try {
+ synchronized (mUidRulesFirstLock) {
+ updateUidStateUL(uid, procState);
+ }
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
}
}
@@ -704,6 +717,7 @@
synchronized (mUidRulesFirstLock) {
updatePowerSaveWhitelistUL();
updateRulesForRestrictPowerUL();
+ updateRulesForAppIdleUL();
}
}
};
@@ -2046,7 +2060,7 @@
// Must whitelist foreground apps before turning data saver mode on.
// TODO: there is no need to iterate through all apps here, just those in the foreground,
// so it could call AM to get the UIDs of such apps, and iterate through them instead.
- updateRulesForAllAppsUL(TYPE_RESTRICT_BACKGROUND);
+ updateRulesForRestrictBackgroundUL();
try {
if (!mNetworkManager.setDataSaverModeEnabled(mRestrictBackground)) {
Slog.e(TAG, "Could not change Data Saver Mode on NMS to " + mRestrictBackground);
@@ -2203,21 +2217,26 @@
@Override
public void setDeviceIdleMode(boolean enabled) {
mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
-
- synchronized (mUidRulesFirstLock) {
- if (mDeviceIdleMode != enabled) {
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "setDeviceIdleMode");
+ try {
+ synchronized (mUidRulesFirstLock) {
+ if (mDeviceIdleMode == enabled) {
+ return;
+ }
mDeviceIdleMode = enabled;
if (mSystemReady) {
// Device idle change means we need to rebuild rules for all
// known apps, so do a global refresh.
updateRulesForRestrictPowerUL();
}
- if (enabled) {
- EventLogTags.writeDeviceIdleOnPhase("net");
- } else {
- EventLogTags.writeDeviceIdleOffPhase("net");
- }
}
+ if (enabled) {
+ EventLogTags.writeDeviceIdleOnPhase("net");
+ } else {
+ EventLogTags.writeDeviceIdleOffPhase("net");
+ }
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
}
}
@@ -2505,25 +2524,30 @@
* {@link #updateRulesForPowerRestrictionsUL(int)}
*/
private void updateUidStateUL(int uid, int uidState) {
- final int oldUidState = mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY);
- if (oldUidState != uidState) {
- // state changed, push updated rules
- mUidState.put(uid, uidState);
- updateRestrictBackgroundRulesOnUidStatusChangedUL(uid, oldUidState, uidState);
- if (isProcStateAllowedWhileIdleOrPowerSaveMode(oldUidState)
- != isProcStateAllowedWhileIdleOrPowerSaveMode(uidState) ) {
- if (isUidIdle(uid)) {
- updateRuleForAppIdleUL(uid);
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateUidStateUL");
+ try {
+ final int oldUidState = mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY);
+ if (oldUidState != uidState) {
+ // state changed, push updated rules
+ mUidState.put(uid, uidState);
+ updateRestrictBackgroundRulesOnUidStatusChangedUL(uid, oldUidState, uidState);
+ if (isProcStateAllowedWhileIdleOrPowerSaveMode(oldUidState)
+ != isProcStateAllowedWhileIdleOrPowerSaveMode(uidState) ) {
+ if (isUidIdle(uid)) {
+ updateRuleForAppIdleUL(uid);
+ }
+ if (mDeviceIdleMode) {
+ updateRuleForDeviceIdleUL(uid);
+ }
+ if (mRestrictPower) {
+ updateRuleForRestrictPowerUL(uid);
+ }
+ updateRulesForPowerRestrictionsUL(uid);
}
- if (mDeviceIdleMode) {
- updateRuleForDeviceIdleUL(uid);
- }
- if (mRestrictPower) {
- updateRuleForRestrictPowerUL(uid);
- }
- updateRulesForPowerRestrictionsUL(uid);
+ updateNetworkStats(uid, isUidStateForegroundUL(uidState));
}
- updateNetworkStats(uid, isUidStateForegroundUL(uidState));
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
}
}
@@ -2576,8 +2600,13 @@
}
void updateRulesForPowerSaveUL() {
- updateRulesForWhitelistedPowerSaveUL(mRestrictPower, FIREWALL_CHAIN_POWERSAVE,
- mUidFirewallPowerSaveRules);
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateRulesForPowerSaveUL");
+ try {
+ updateRulesForWhitelistedPowerSaveUL(mRestrictPower, FIREWALL_CHAIN_POWERSAVE,
+ mUidFirewallPowerSaveRules);
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
+ }
}
void updateRuleForRestrictPowerUL(int uid) {
@@ -2585,8 +2614,13 @@
}
void updateRulesForDeviceIdleUL() {
- updateRulesForWhitelistedPowerSaveUL(mDeviceIdleMode, FIREWALL_CHAIN_DOZABLE,
- mUidFirewallDozableRules);
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateRulesForDeviceIdleUL");
+ try {
+ updateRulesForWhitelistedPowerSaveUL(mDeviceIdleMode, FIREWALL_CHAIN_DOZABLE,
+ mUidFirewallDozableRules);
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
+ }
}
void updateRuleForDeviceIdleUL(int uid) {
@@ -2623,10 +2657,10 @@
uidRules.put(mUidState.keyAt(i), FIREWALL_RULE_ALLOW);
}
}
- setUidFirewallRules(chain, uidRules);
+ setUidFirewallRulesAsync(chain, uidRules, CHAIN_TOGGLE_ENABLE);
+ } else {
+ setUidFirewallRulesAsync(chain, null, CHAIN_TOGGLE_DISABLE);
}
-
- enableFirewallChainUL(chain, enabled);
}
private boolean isWhitelistedBatterySaverUL(int uid) {
@@ -2648,27 +2682,32 @@
}
void updateRulesForAppIdleUL() {
- final SparseIntArray uidRules = mUidFirewallStandbyRules;
- uidRules.clear();
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateRulesForAppIdleUL");
+ try {
+ final SparseIntArray uidRules = mUidFirewallStandbyRules;
+ uidRules.clear();
- // Fully update the app idle firewall chain.
- final List<UserInfo> users = mUserManager.getUsers();
- for (int ui = users.size() - 1; ui >= 0; ui--) {
- UserInfo user = users.get(ui);
- int[] idleUids = mUsageStats.getIdleUidsForUser(user.id);
- for (int uid : idleUids) {
- if (!mPowerSaveTempWhitelistAppIds.get(UserHandle.getAppId(uid), false)) {
- // quick check: if this uid doesn't have INTERNET permission, it
- // doesn't have network access anyway, so it is a waste to mess
- // with it here.
- if (hasInternetPermissions(uid)) {
- uidRules.put(uid, FIREWALL_RULE_DENY);
+ // Fully update the app idle firewall chain.
+ final List<UserInfo> users = mUserManager.getUsers();
+ for (int ui = users.size() - 1; ui >= 0; ui--) {
+ UserInfo user = users.get(ui);
+ int[] idleUids = mUsageStats.getIdleUidsForUser(user.id);
+ for (int uid : idleUids) {
+ if (!mPowerSaveTempWhitelistAppIds.get(UserHandle.getAppId(uid), false)) {
+ // quick check: if this uid doesn't have INTERNET permission, it
+ // doesn't have network access anyway, so it is a waste to mess
+ // with it here.
+ if (hasInternetPermissions(uid)) {
+ uidRules.put(uid, FIREWALL_RULE_DENY);
+ }
}
}
}
- }
- setUidFirewallRules(FIREWALL_CHAIN_STANDBY, uidRules);
+ setUidFirewallRulesAsync(FIREWALL_CHAIN_STANDBY, uidRules, CHAIN_TOGGLE_NONE);
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
+ }
}
void updateRuleForAppIdleUL(int uid) {
@@ -2693,33 +2732,41 @@
* {@link #mRestrictPower}, or {@link #mDeviceIdleMode} value.
*/
private void updateRulesForGlobalChangeAL(boolean restrictedNetworksChanged) {
- long start;
- if (LOGD) start = System.currentTimeMillis();
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateRulesForGlobalChangeAL");
+ try {
+ updateRulesForAppIdleUL();
+ updateRulesForRestrictPowerUL();
+ updateRulesForRestrictBackgroundUL();
- updateRulesForRestrictPowerUL();
- updateRulesForRestrictBackgroundUL();
-
- // If the set of restricted networks may have changed, re-evaluate those.
- if (restrictedNetworksChanged) {
- normalizePoliciesNL();
- updateNetworkRulesNL();
- }
- if (LOGD) {
- final long delta = System.currentTimeMillis() - start;
- Slog.d(TAG, "updateRulesForGlobalChangeAL(" + restrictedNetworksChanged + ") took "
- + delta + "ms");
+ // If the set of restricted networks may have changed, re-evaluate those.
+ if (restrictedNetworksChanged) {
+ normalizePoliciesNL();
+ updateNetworkRulesNL();
+ }
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
}
}
+ // TODO: rename / document to make it clear these are global (not app-specific) rules
private void updateRulesForRestrictPowerUL() {
- updateRulesForDeviceIdleUL();
- updateRulesForAppIdleUL();
- updateRulesForPowerSaveUL();
- updateRulesForAllAppsUL(TYPE_RESTRICT_POWER);
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateRulesForRestrictPowerUL");
+ try {
+ updateRulesForDeviceIdleUL();
+ updateRulesForPowerSaveUL();
+ updateRulesForAllAppsUL(TYPE_RESTRICT_POWER);
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
+ }
}
private void updateRulesForRestrictBackgroundUL() {
- updateRulesForAllAppsUL(TYPE_RESTRICT_BACKGROUND);
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateRulesForRestrictBackgroundUL");
+ try {
+ updateRulesForAllAppsUL(TYPE_RESTRICT_BACKGROUND);
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
+ }
}
private static final int TYPE_RESTRICT_BACKGROUND = 1;
@@ -2734,33 +2781,42 @@
// TODO: refactor / consolidate all those updateXyz methods, there are way too many of them...
private void updateRulesForAllAppsUL(@RestrictType int type) {
- final PackageManager pm = mContext.getPackageManager();
+ if (Trace.isTagEnabled(Trace.TRACE_TAG_NETWORK)) {
+ Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "updateRulesForRestrictPowerUL-" + type);
+ }
+ try {
+ final PackageManager pm = mContext.getPackageManager();
- // update rules for all installed applications
- final List<UserInfo> users = mUserManager.getUsers();
- final List<ApplicationInfo> apps = pm.getInstalledApplications(
- PackageManager.MATCH_UNINSTALLED_PACKAGES | PackageManager.MATCH_DISABLED_COMPONENTS
- | PackageManager.MATCH_DIRECT_BOOT_AWARE
- | PackageManager.MATCH_DIRECT_BOOT_UNAWARE);
+ // update rules for all installed applications
+ final List<UserInfo> users = mUserManager.getUsers();
+ final List<ApplicationInfo> apps = pm.getInstalledApplications(
+ PackageManager.MATCH_UNINSTALLED_PACKAGES | PackageManager.MATCH_DISABLED_COMPONENTS
+ | PackageManager.MATCH_DIRECT_BOOT_AWARE
+ | PackageManager.MATCH_DIRECT_BOOT_UNAWARE);
- final int usersSize = users.size();
- final int appsSize = apps.size();
- for (int i = 0; i < usersSize; i++) {
- final UserInfo user = users.get(i);
- for (int j = 0; j < appsSize; j++) {
- final ApplicationInfo app = apps.get(j);
- final int uid = UserHandle.getUid(user.id, app.uid);
- switch (type) {
- case TYPE_RESTRICT_BACKGROUND:
- updateRulesForDataUsageRestrictionsUL(uid);
- break;
- case TYPE_RESTRICT_POWER:
- updateRulesForPowerRestrictionsUL(uid);
- break;
- default:
- Slog.w(TAG, "Invalid type for updateRulesForAllApps: " + type);
+ final int usersSize = users.size();
+ final int appsSize = apps.size();
+ for (int i = 0; i < usersSize; i++) {
+ final UserInfo user = users.get(i);
+ for (int j = 0; j < appsSize; j++) {
+ final ApplicationInfo app = apps.get(j);
+ final int uid = UserHandle.getUid(user.id, app.uid);
+ switch (type) {
+ case TYPE_RESTRICT_BACKGROUND:
+ updateRulesForDataUsageRestrictionsUL(uid);
+ break;
+ case TYPE_RESTRICT_POWER:
+ updateRulesForPowerRestrictionsUL(uid);
+ break;
+ default:
+ Slog.w(TAG, "Invalid type for updateRulesForAllApps: " + type);
+ }
}
}
+ } finally {
+ if (Trace.isTagEnabled(Trace.TRACE_TAG_NETWORK)) {
+ Trace.traceEnd(Trace.TRACE_TAG_NETWORK);
+ }
}
}
@@ -3304,6 +3360,18 @@
removeInterfaceQuota((String) msg.obj);
return true;
}
+ case MSG_SET_FIREWALL_RULES: {
+ final int chain = msg.arg1;
+ final int toggle = msg.arg2;
+ final SparseIntArray uidRules = (SparseIntArray) msg.obj;
+ if (uidRules != null) {
+ setUidFirewallRules(chain, uidRules);
+ }
+ if (toggle != CHAIN_TOGGLE_NONE) {
+ enableFirewallChainUL(chain, toggle == CHAIN_TOGGLE_ENABLE);
+ }
+ return true;
+ }
default: {
return false;
}
@@ -3353,6 +3421,31 @@
}
}
+ private static final int CHAIN_TOGGLE_NONE = 0;
+ private static final int CHAIN_TOGGLE_ENABLE = 1;
+ private static final int CHAIN_TOGGLE_DISABLE = 2;
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(flag = false, value = {
+ CHAIN_TOGGLE_NONE,
+ CHAIN_TOGGLE_ENABLE,
+ CHAIN_TOGGLE_DISABLE
+ })
+ public @interface ChainToggleType {
+ }
+
+ /**
+ * Calls {@link #setUidFirewallRules(int, SparseIntArray)} and
+ * {@link #enableFirewallChainUL(int, boolean)} asynchronously.
+ *
+ * @param chain firewall chain.
+ * @param uidRules new UID rules; if {@code null}, only toggles chain state.
+ * @param toggle whether the chain should be enabled, disabled, or not changed.
+ */
+ private void setUidFirewallRulesAsync(int chain, @Nullable SparseIntArray uidRules,
+ @ChainToggleType int toggle) {
+ mHandler.obtainMessage(MSG_SET_FIREWALL_RULES, chain, toggle, uidRules).sendToTarget();
+ }
+
/**
* Set uid rules on a particular firewall chain. This is going to synchronize the rules given
* here to netd. It will clean up dead rules and make sure the target chain only contains rules
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index bb55240..eb85f19 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -58,7 +58,6 @@
import android.app.NotificationManager;
import android.app.NotificationManager.Policy;
import android.app.PendingIntent;
-import android.app.RemoteInput;
import android.app.StatusBarManager;
import android.app.backup.BackupManager;
import android.app.usage.UsageEvents;
@@ -93,7 +92,6 @@
import android.os.IInterface;
import android.os.Looper;
import android.os.Message;
-import android.os.Parcelable;
import android.os.Process;
import android.os.RemoteException;
import android.os.SystemClock;
@@ -122,6 +120,8 @@
import android.util.Slog;
import android.util.SparseArray;
import android.util.Xml;
+import android.view.WindowManager;
+import android.view.WindowManagerInternal;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.widget.Toast;
@@ -138,6 +138,7 @@
import com.android.server.lights.Light;
import com.android.server.lights.LightsManager;
import com.android.server.notification.ManagedServices.ManagedServiceInfo;
+import com.android.server.policy.PhoneWindowManager;
import com.android.server.statusbar.StatusBarManagerInternal;
import com.android.server.vr.VrManagerInternal;
import com.android.server.notification.ManagedServices.UserProfiles;
@@ -193,7 +194,7 @@
private static final int MESSAGE_RECONSIDER_RANKING = 1000;
private static final int MESSAGE_RANKING_SORT = 1001;
- static final int LONG_DELAY = 3500; // 3.5 seconds
+ static final int LONG_DELAY = PhoneWindowManager.TOAST_WINDOW_TIMEOUT;
static final int SHORT_DELAY = 2000; // 2 seconds
static final long[] DEFAULT_VIBRATE_PATTERN = {0, 250, 250, 250};
@@ -232,6 +233,7 @@
@Nullable StatusBarManagerInternal mStatusBar;
Vibrator mVibrator;
private VrManagerInternal mVrManagerInternal;
+ private WindowManagerInternal mWindowManagerInternal;
final IBinder mForegroundToken = new Binder();
private Handler mHandler;
@@ -452,13 +454,15 @@
final String pkg;
final ITransientNotification callback;
int duration;
+ Binder token;
- ToastRecord(int pid, String pkg, ITransientNotification callback, int duration)
- {
+ ToastRecord(int pid, String pkg, ITransientNotification callback, int duration,
+ Binder token) {
this.pid = pid;
this.pkg = pkg;
this.callback = callback;
this.duration = duration;
+ this.token = token;
}
void update(int duration) {
@@ -1125,6 +1129,7 @@
mAudioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
mAudioManagerInternal = getLocalService(AudioManagerInternal.class);
mVrManagerInternal = getLocalService(VrManagerInternal.class);
+ mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class);
mZenModeHelper.onSystemReady();
} else if (phase == SystemService.PHASE_THIRD_PARTY_APPS_CAN_START) {
// This observer will force an update when observe is called, causing us to
@@ -1325,10 +1330,13 @@
}
}
- record = new ToastRecord(callingPid, pkg, callback, duration);
+ Binder token = new Binder();
+ mWindowManagerInternal.addWindowToken(token,
+ WindowManager.LayoutParams.TYPE_TOAST);
+ record = new ToastRecord(callingPid, pkg, callback, duration, token);
mToastQueue.add(record);
index = mToastQueue.size() - 1;
- keepProcessAliveLocked(callingPid);
+ keepProcessAliveIfNeededLocked(callingPid);
}
// If it's at index 0, it's the current toast. It doesn't matter if it's
// new or just been updated. Call back and tell it to show itself.
@@ -2991,7 +2999,7 @@
while (record != null) {
if (DBG) Slog.d(TAG, "Show pkg=" + record.pkg + " callback=" + record.callback);
try {
- record.callback.show();
+ record.callback.show(record.token);
scheduleTimeoutLocked(record);
return;
} catch (RemoteException e) {
@@ -3002,7 +3010,7 @@
if (index >= 0) {
mToastQueue.remove(index);
}
- keepProcessAliveLocked(record.pid);
+ keepProcessAliveIfNeededLocked(record.pid);
if (mToastQueue.size() > 0) {
record = mToastQueue.get(0);
} else {
@@ -3022,8 +3030,11 @@
// don't worry about this, we're about to remove it from
// the list anyway
}
- mToastQueue.remove(index);
- keepProcessAliveLocked(record.pid);
+
+ ToastRecord lastToast = mToastQueue.remove(index);
+ mWindowManagerInternal.removeWindowToken(lastToast.token, true);
+
+ keepProcessAliveIfNeededLocked(record.pid);
if (mToastQueue.size() > 0) {
// Show the next one. If the callback fails, this will remove
// it from the list, so don't assume that the list hasn't changed
@@ -3067,7 +3078,7 @@
}
// lock on mToastQueue
- void keepProcessAliveLocked(int pid)
+ void keepProcessAliveIfNeededLocked(int pid)
{
int toastCount = 0; // toasts from this pid
ArrayList<ToastRecord> list = mToastQueue;
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index c22bfb3..afd42ea 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -35,6 +35,7 @@
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.database.ContentObserver;
+import android.media.AudioAttributes;
import android.media.AudioManager;
import android.media.AudioManagerInternal;
import android.media.AudioSystem;
@@ -736,13 +737,14 @@
// total silence restrictions
final boolean muteEverything = mZenMode == Global.ZEN_MODE_NO_INTERRUPTIONS;
- for (int i = USAGE_UNKNOWN; i <= USAGE_VIRTUAL_SOURCE; i++) {
- if (i == USAGE_NOTIFICATION) {
- applyRestrictions(muteNotifications || muteEverything, i);
- } else if (i == USAGE_NOTIFICATION_RINGTONE) {
- applyRestrictions(muteCalls || muteEverything, i);
+ for (int usage : AudioAttributes.SDK_USAGES) {
+ final int suppressionBehavior = AudioAttributes.SUPPRESSIBLE_USAGES.get(usage);
+ if (suppressionBehavior == AudioAttributes.SUPPRESSIBLE_NOTIFICATION) {
+ applyRestrictions(muteNotifications || muteEverything, usage);
+ } else if (suppressionBehavior == AudioAttributes.SUPPRESSIBLE_CALL) {
+ applyRestrictions(muteCalls || muteEverything, usage);
} else {
- applyRestrictions(muteEverything, i);
+ applyRestrictions(muteEverything, usage);
}
}
}
diff --git a/services/core/java/com/android/server/pm/EphemeralResolverConnection.java b/services/core/java/com/android/server/pm/EphemeralResolverConnection.java
index 8d926f5..68b465a 100644
--- a/services/core/java/com/android/server/pm/EphemeralResolverConnection.java
+++ b/services/core/java/com/android/server/pm/EphemeralResolverConnection.java
@@ -60,7 +60,7 @@
public EphemeralResolverConnection(Context context, ComponentName componentName) {
mContext = context;
- mIntent = new Intent().setComponent(componentName);
+ mIntent = new Intent(Intent.ACTION_RESOLVE_EPHEMERAL_PACKAGE).setComponent(componentName);
}
public final List<EphemeralResolveInfo> getEphemeralResolveInfoList(
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java
index 72c549f..2e18b1c 100644
--- a/services/core/java/com/android/server/pm/Installer.java
+++ b/services/core/java/com/android/server/pm/Installer.java
@@ -230,6 +230,11 @@
mInstaller.execute("move_ab", apkPath, instructionSet, outputPath);
}
+ public void deleteOdex(String apkPath, String instructionSet, String outputPath)
+ throws InstallerException {
+ mInstaller.execute("delete_odex", apkPath, instructionSet, outputPath);
+ }
+
private static void assertValidInstructionSet(String instructionSet)
throws InstallerException {
for (String abi : Build.SUPPORTED_ABIS) {
diff --git a/services/core/java/com/android/server/pm/OtaDexoptService.java b/services/core/java/com/android/server/pm/OtaDexoptService.java
index bff6d2d..756ba5e 100644
--- a/services/core/java/com/android/server/pm/OtaDexoptService.java
+++ b/services/core/java/com/android/server/pm/OtaDexoptService.java
@@ -53,6 +53,10 @@
// The synthetic library dependencies denoting "no checks."
private final static String[] NO_LIBRARIES = new String[] { "&" };
+ // The amount of "available" (free - low threshold) space necessary at the start of an OTA to
+ // not bulk-delete unused apps' odex files.
+ private final static long BULK_DELETE_THRESHOLD = 1024 * 1024 * 1024; // 1GB.
+
private final Context mContext;
private final PackageManagerService mPackageManagerService;
@@ -128,6 +132,14 @@
generatePackageDexopts(p, PackageManagerService.REASON_FIRST_BOOT));
}
completeSize = mDexoptCommands.size();
+
+ if (getAvailableSpace() < BULK_DELETE_THRESHOLD) {
+ Log.i(TAG, "Low on space, deleting oat files in an attempt to free up space: "
+ + PackageManagerServiceUtils.packagesToString(others));
+ for (PackageParser.Package pkg : others) {
+ deleteOatArtifactsOfPackage(pkg);
+ }
+ }
}
@Override
@@ -169,28 +181,65 @@
String next = mDexoptCommands.remove(0);
- if (IsFreeSpaceAvailable()) {
+ if (getAvailableSpace() > 0) {
return next;
} else {
+ if (DEBUG_DEXOPT) {
+ Log.w(TAG, "Not enough space for OTA dexopt, stopping with "
+ + (mDexoptCommands.size() + 1) + " commands left.");
+ }
mDexoptCommands.clear();
return "(no free space)";
}
}
- /**
- * Check for low space. Returns true if there's space left.
- */
- private boolean IsFreeSpaceAvailable() {
- // TODO: If apps are not installed in the internal /data partition, we should compare
- // against that storage's free capacity.
+ private long getMainLowSpaceThreshold() {
File dataDir = Environment.getDataDirectory();
@SuppressWarnings("deprecation")
long lowThreshold = StorageManager.from(mContext).getStorageLowBytes(dataDir);
if (lowThreshold == 0) {
throw new IllegalStateException("Invalid low memory threshold");
}
+ return lowThreshold;
+ }
+
+ /**
+ * Returns the difference of free space to the low-storage-space threshold. Positive values
+ * indicate free bytes.
+ */
+ private long getAvailableSpace() {
+ // TODO: If apps are not installed in the internal /data partition, we should compare
+ // against that storage's free capacity.
+ long lowThreshold = getMainLowSpaceThreshold();
+
+ File dataDir = Environment.getDataDirectory();
long usableSpace = dataDir.getUsableSpace();
- return (usableSpace >= lowThreshold);
+
+ return usableSpace - lowThreshold;
+ }
+
+ private static String getOatDir(PackageParser.Package pkg) {
+ if (!pkg.canHaveOatDir()) {
+ return null;
+ }
+ File codePath = new File(pkg.codePath);
+ if (codePath.isDirectory()) {
+ return PackageDexOptimizer.getOatDir(codePath).getAbsolutePath();
+ }
+ return null;
+ }
+
+ private void deleteOatArtifactsOfPackage(PackageParser.Package pkg) {
+ String[] instructionSets = getAppDexInstructionSets(pkg.applicationInfo);
+ for (String codePath : pkg.getAllCodePaths()) {
+ for (String isa : instructionSets) {
+ try {
+ mPackageManagerService.mInstaller.deleteOdex(codePath, isa, getOatDir(pkg));
+ } catch (InstallerException e) {
+ Log.e(TAG, "Failed deleting oat files for " + codePath, e);
+ }
+ }
+ }
}
/**
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index baed609..783db05 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -212,6 +212,7 @@
import android.util.Log;
import android.util.LogPrinter;
import android.util.MathUtils;
+import android.util.Pair;
import android.util.PrintStreamPrinter;
import android.util.Slog;
import android.util.SparseArray;
@@ -365,8 +366,8 @@
static final boolean CLEAR_RUNTIME_PERMISSIONS_ON_UPGRADE = false;
- // STOPSHIP; b/30256615
- private static final boolean DISABLE_EPHEMERAL_APPS = !Build.IS_DEBUGGABLE;
+ private static final boolean DISABLE_EPHEMERAL_APPS = false;
+ private static final boolean HIDE_EPHEMERAL_APIS = true;
private static final int RADIO_UID = Process.PHONE_UID;
private static final int LOG_UID = Process.LOG_UID;
@@ -538,6 +539,9 @@
final boolean mIsPreNUpgrade;
final boolean mIsPreNMR1Upgrade;
+ @GuardedBy("mPackages")
+ private boolean mDexOptDialogShown;
+
/** The location for ASEC container files on internal storage. */
final String mAsecInternalPath;
@@ -1125,6 +1129,7 @@
final @NonNull String mRequiredInstallerPackage;
final @NonNull String mRequiredUninstallerPackage;
final @Nullable String mSetupWizardPackage;
+ final @Nullable String mStorageManagerPackage;
final @NonNull String mServicesSystemSharedLibraryPackageName;
final @NonNull String mSharedSystemSharedLibraryPackageName;
@@ -2466,6 +2471,9 @@
}
mExpectingBetter.clear();
+ // Resolve the storage manager.
+ mStorageManagerPackage = getStorageManagerPackageName();
+
// Resolve protected action filters. Only the setup wizard is allowed to
// have a high priority filter for these actions.
mSetupWizardPackage = getSetupWizardPackageName();
@@ -6275,7 +6283,7 @@
@Override
public ParceledListSlice<EphemeralApplicationInfo> getEphemeralApplications(int userId) {
- if (isEphemeralDisabled()) {
+ if (HIDE_EPHEMERAL_APIS || isEphemeralDisabled()) {
return null;
}
@@ -6299,7 +6307,7 @@
enforceCrossUserPermission(Binder.getCallingUid(), userId,
true /* requireFullPermission */, false /* checkShell */,
"isEphemeral");
- if (isEphemeralDisabled()) {
+ if (HIDE_EPHEMERAL_APIS || isEphemeralDisabled()) {
return false;
}
@@ -6317,7 +6325,7 @@
@Override
public byte[] getEphemeralApplicationCookie(String packageName, int userId) {
- if (isEphemeralDisabled()) {
+ if (HIDE_EPHEMERAL_APIS || isEphemeralDisabled()) {
return null;
}
@@ -6335,7 +6343,7 @@
@Override
public boolean setEphemeralApplicationCookie(String packageName, byte[] cookie, int userId) {
- if (isEphemeralDisabled()) {
+ if (HIDE_EPHEMERAL_APIS || isEphemeralDisabled()) {
return true;
}
@@ -6353,7 +6361,7 @@
@Override
public Bitmap getEphemeralApplicationIcon(String packageName, int userId) {
- if (isEphemeralDisabled()) {
+ if (HIDE_EPHEMERAL_APIS || isEphemeralDisabled()) {
return null;
}
@@ -7150,7 +7158,11 @@
}
}
if (doTrim) {
- if (!isFirstBoot()) {
+ final boolean dexOptDialogShown;
+ synchronized (mPackages) {
+ dexOptDialogShown = mDexOptDialogShown;
+ }
+ if (!isFirstBoot() && dexOptDialogShown) {
try {
ActivityManagerNative.getDefault().showBootMessage(
mContext.getResources().getString(
@@ -7244,6 +7256,9 @@
numberOfPackagesVisited, numberOfPackagesToDexopt), true);
} catch (RemoteException e) {
}
+ synchronized (mPackages) {
+ mDexOptDialogShown = true;
+ }
}
// If the OTA updates a system app which was previously preopted to a non-preopted state
@@ -11251,6 +11266,19 @@
private static final class EphemeralIntentResolver
extends IntentResolver<EphemeralResolveIntentInfo, EphemeralResolveInfo> {
+ /**
+ * The result that has the highest defined order. Ordering applies on a
+ * per-package basis. Mapping is from package name to Pair of order and
+ * EphemeralResolveInfo.
+ * <p>
+ * NOTE: This is implemented as a field variable for convenience and efficiency.
+ * By having a field variable, we're able to track filter ordering as soon as
+ * a non-zero order is defined. Otherwise, multiple loops across the result set
+ * would be needed to apply ordering. If the intent resolver becomes re-entrant,
+ * this needs to be contained entirely within {@link #filterResults()}.
+ */
+ final ArrayMap<String, Pair<Integer, EphemeralResolveInfo>> mOrderResult = new ArrayMap<>();
+
@Override
protected EphemeralResolveIntentInfo[] newArray(int size) {
return new EphemeralResolveIntentInfo[size];
@@ -11267,7 +11295,51 @@
if (!sUserManager.exists(userId)) {
return null;
}
- return info.getEphemeralResolveInfo();
+ final String packageName = info.getEphemeralResolveInfo().getPackageName();
+ final Integer order = info.getOrder();
+ final Pair<Integer, EphemeralResolveInfo> lastOrderResult =
+ mOrderResult.get(packageName);
+ // ordering is enabled and this item's order isn't high enough
+ if (lastOrderResult != null && lastOrderResult.first >= order) {
+ return null;
+ }
+ final EphemeralResolveInfo res = info.getEphemeralResolveInfo();
+ if (order > 0) {
+ // non-zero order, enable ordering
+ mOrderResult.put(packageName, new Pair<>(order, res));
+ }
+ return res;
+ }
+
+ @Override
+ protected void filterResults(List<EphemeralResolveInfo> results) {
+ // only do work if ordering is enabled [most of the time it won't be]
+ if (mOrderResult.size() == 0) {
+ return;
+ }
+ int resultSize = results.size();
+ for (int i = 0; i < resultSize; i++) {
+ final EphemeralResolveInfo info = results.get(i);
+ final String packageName = info.getPackageName();
+ final Pair<Integer, EphemeralResolveInfo> savedInfo = mOrderResult.get(packageName);
+ if (savedInfo == null) {
+ // package doesn't having ordering
+ continue;
+ }
+ if (savedInfo.second == info) {
+ // circled back to the highest ordered item; remove from order list
+ mOrderResult.remove(savedInfo);
+ if (mOrderResult.size() == 0) {
+ // no more ordered items
+ break;
+ }
+ continue;
+ }
+ // item has a worse order, remove it from the result list
+ results.remove(i);
+ resultSize--;
+ i--;
+ }
}
}
@@ -15503,6 +15575,12 @@
callingUid == getPackageUid(mRequiredUninstallerPackage, 0, callingUserId)) {
return true;
}
+
+ // Allow storage manager to silently uninstall.
+ if (mStorageManagerPackage != null &&
+ callingUid == getPackageUid(mStorageManagerPackage, 0, callingUserId)) {
+ return true;
+ }
return false;
}
@@ -17718,6 +17796,22 @@
}
}
+ private @Nullable String getStorageManagerPackageName() {
+ final Intent intent = new Intent(StorageManager.ACTION_MANAGE_STORAGE);
+
+ final List<ResolveInfo> matches = queryIntentActivitiesInternal(intent, null,
+ MATCH_SYSTEM_ONLY | MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE
+ | MATCH_DISABLED_COMPONENTS,
+ UserHandle.myUserId());
+ if (matches.size() == 1) {
+ return matches.get(0).getComponentInfo().packageName;
+ } else {
+ Slog.e(TAG, "There should probably be exactly one storage manager; found "
+ + matches.size() + ": matches=" + matches);
+ return null;
+ }
+ }
+
@Override
public void setApplicationEnabledSetting(String appPackageName,
int newState, int flags, int userId, String callingPackage) {
@@ -20970,6 +21064,13 @@
public boolean isPackageDataProtected(int userId, String packageName) {
return mProtectedPackages.isPackageDataProtected(userId, packageName);
}
+
+ @Override
+ public boolean wasPackageEverLaunched(String packageName, int userId) {
+ synchronized (mPackages) {
+ return mSettings.wasPackageEverLaunchedLPr(packageName, userId);
+ }
+ }
}
@Override
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
index 751c585..cfd0af7 100644
--- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
@@ -19,6 +19,7 @@
import static com.android.server.pm.PackageManagerService.DEBUG_DEXOPT;
import static com.android.server.pm.PackageManagerService.TAG;
+import android.annotation.NonNull;
import android.app.AppGlobals;
import android.content.Intent;
import android.content.pm.PackageParser;
@@ -35,13 +36,9 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
-import java.util.Set;
+import java.util.function.Predicate;
/**
* Class containing helper methods for the PackageManagerService.
@@ -67,34 +64,51 @@
return pkgNames;
}
- private static void filterRecentlyUsedApps(Collection<PackageParser.Package> pkgs,
- long estimatedPreviousSystemUseTime,
- long dexOptLRUThresholdInMills) {
- // Filter out packages that aren't recently used.
- int total = pkgs.size();
- int skipped = 0;
- for (Iterator<PackageParser.Package> i = pkgs.iterator(); i.hasNext();) {
- PackageParser.Package pkg = i.next();
- long then = pkg.getLatestForegroundPackageUseTimeInMills();
- if (then < estimatedPreviousSystemUseTime - dexOptLRUThresholdInMills) {
- if (DEBUG_DEXOPT) {
- Log.i(TAG, "Skipping dexopt of " + pkg.packageName +
- " last used in foreground: " +
- ((then == 0) ? "never" : new Date(then)));
- }
- i.remove();
- skipped++;
- } else {
- if (DEBUG_DEXOPT) {
- Log.i(TAG, "Will dexopt " + pkg.packageName +
- " last used in foreground: " +
- ((then == 0) ? "never" : new Date(then)));
- }
+ // Sort a list of apps by their last usage, most recently used apps first. The order of
+ // packages without usage data is undefined (but they will be sorted after the packages
+ // that do have usage data).
+ public static void sortPackagesByUsageDate(List<PackageParser.Package> pkgs,
+ PackageManagerService packageManagerService) {
+ if (!packageManagerService.isHistoricalPackageUsageAvailable()) {
+ return;
+ }
+
+ Collections.sort(pkgs, (pkg1, pkg2) ->
+ Long.compare(pkg2.getLatestForegroundPackageUseTimeInMills(),
+ pkg1.getLatestForegroundPackageUseTimeInMills()));
+ }
+
+ // Apply the given {@code filter} to all packages in {@code packages}. If tested positive, the
+ // package will be removed from {@code packages} and added to {@code result} with its
+ // dependencies. If usage data is available, the positive packages will be sorted by usage
+ // data (with {@code sortTemp} as temporary storage).
+ private static void applyPackageFilter(Predicate<PackageParser.Package> filter,
+ Collection<PackageParser.Package> result,
+ Collection<PackageParser.Package> packages,
+ @NonNull List<PackageParser.Package> sortTemp,
+ PackageManagerService packageManagerService) {
+ for (PackageParser.Package pkg : packages) {
+ if (filter.test(pkg)) {
+ sortTemp.add(pkg);
}
}
- if (DEBUG_DEXOPT) {
- Log.i(TAG, "Skipped dexopt " + skipped + " of " + total);
+
+ sortPackagesByUsageDate(sortTemp, packageManagerService);
+ packages.removeAll(sortTemp);
+
+ for (PackageParser.Package pkg : sortTemp) {
+ result.add(pkg);
+
+ Collection<PackageParser.Package> deps =
+ packageManagerService.findSharedNonSystemLibraries(pkg);
+ if (!deps.isEmpty()) {
+ deps.removeAll(result);
+ result.addAll(deps);
+ packages.removeAll(deps);
+ }
}
+
+ sortTemp.clear();
}
// Sort apps by importance for dexopt ordering. Important apps are given
@@ -104,46 +118,25 @@
PackageManagerService packageManagerService) {
ArrayList<PackageParser.Package> remainingPkgs = new ArrayList<>(packages);
LinkedList<PackageParser.Package> result = new LinkedList<>();
+ ArrayList<PackageParser.Package> sortTemp = new ArrayList<>(remainingPkgs.size());
// Give priority to core apps.
- for (PackageParser.Package pkg : remainingPkgs) {
- if (pkg.coreApp) {
- if (DEBUG_DEXOPT) {
- Log.i(TAG, "Adding core app " + result.size() + ": " + pkg.packageName);
- }
- result.add(pkg);
- }
- }
- remainingPkgs.removeAll(result);
+ applyPackageFilter((pkg) -> pkg.coreApp, result, remainingPkgs, sortTemp,
+ packageManagerService);
// Give priority to system apps that listen for pre boot complete.
Intent intent = new Intent(Intent.ACTION_PRE_BOOT_COMPLETED);
- ArraySet<String> pkgNames = getPackageNamesForIntent(intent, UserHandle.USER_SYSTEM);
- for (PackageParser.Package pkg : remainingPkgs) {
- if (pkgNames.contains(pkg.packageName)) {
- if (DEBUG_DEXOPT) {
- Log.i(TAG, "Adding pre boot system app " + result.size() + ": " +
- pkg.packageName);
- }
- result.add(pkg);
- }
- }
- remainingPkgs.removeAll(result);
+ final ArraySet<String> pkgNames = getPackageNamesForIntent(intent, UserHandle.USER_SYSTEM);
+ applyPackageFilter((pkg) -> pkgNames.contains(pkg.packageName), result, remainingPkgs,
+ sortTemp, packageManagerService);
// Give priority to apps used by other apps.
- for (PackageParser.Package pkg : remainingPkgs) {
- if (PackageDexOptimizer.isUsedByOtherApps(pkg)) {
- if (DEBUG_DEXOPT) {
- Log.i(TAG, "Adding app used by other apps " + result.size() + ": " +
- pkg.packageName);
- }
- result.add(pkg);
- }
- }
- remainingPkgs.removeAll(result);
+ applyPackageFilter((pkg) -> PackageDexOptimizer.isUsedByOtherApps(pkg), result,
+ remainingPkgs, sortTemp, packageManagerService);
// Filter out packages that aren't recently used, add all remaining apps.
// TODO: add a property to control this?
+ Predicate<PackageParser.Package> remainingPredicate;
if (!remainingPkgs.isEmpty() && packageManagerService.isHistoricalPackageUsageAvailable()) {
if (DEBUG_DEXOPT) {
Log.i(TAG, "Looking at historical package use");
@@ -159,34 +152,24 @@
lastUsed.getLatestForegroundPackageUseTimeInMills();
// Be defensive if for some reason package usage has bogus data.
if (estimatedPreviousSystemUseTime != 0) {
- filterRecentlyUsedApps(remainingPkgs, estimatedPreviousSystemUseTime,
- SEVEN_DAYS_IN_MILLISECONDS);
+ final long cutoffTime = estimatedPreviousSystemUseTime - SEVEN_DAYS_IN_MILLISECONDS;
+ remainingPredicate =
+ (pkg) -> pkg.getLatestForegroundPackageUseTimeInMills() >= cutoffTime;
+ } else {
+ // No meaningful historical info. Take all.
+ remainingPredicate = (pkg) -> true;
}
+ sortPackagesByUsageDate(remainingPkgs, packageManagerService);
+ } else {
+ // No historical info. Take all.
+ remainingPredicate = (pkg) -> true;
}
- result.addAll(remainingPkgs);
-
- // Now go ahead and also add the libraries required for these packages.
- // TODO: Think about interleaving things.
- Set<PackageParser.Package> dependencies = new HashSet<>();
- for (PackageParser.Package p : result) {
- dependencies.addAll(packageManagerService.findSharedNonSystemLibraries(p));
- }
- if (!dependencies.isEmpty()) {
- // We might have packages already in `result` that are dependencies
- // of other packages. Make sure we don't add those to the list twice.
- dependencies.removeAll(result);
- }
- result.addAll(dependencies);
+ applyPackageFilter(remainingPredicate, result, remainingPkgs, sortTemp,
+ packageManagerService);
if (DEBUG_DEXOPT) {
- StringBuilder sb = new StringBuilder();
- for (PackageParser.Package pkg : result) {
- if (sb.length() > 0) {
- sb.append(", ");
- }
- sb.append(pkg.packageName);
- }
- Log.i(TAG, "Packages to be dexopted: " + sb.toString());
+ Log.i(TAG, "Packages to be dexopted: " + packagesToString(result));
+ Log.i(TAG, "Packages skipped from dexopt: " + packagesToString(remainingPkgs));
}
return result;
@@ -203,4 +186,15 @@
throw ee.rethrowAsIOException();
}
}
+
+ public static String packagesToString(Collection<PackageParser.Package> c) {
+ StringBuilder sb = new StringBuilder();
+ for (PackageParser.Package pkg : c) {
+ if (sb.length() > 0) {
+ sb.append(", ");
+ }
+ sb.append(pkg.packageName);
+ }
+ return sb.toString();
+ }
}
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 5126305..b0c536f 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -4154,6 +4154,14 @@
return pkg.getCurrentEnabledStateLPr(classNameStr, userId);
}
+ boolean wasPackageEverLaunchedLPr(String packageName, int userId) {
+ final PackageSetting pkgSetting = mPackages.get(packageName);
+ if (pkgSetting == null) {
+ throw new IllegalArgumentException("Unknown package: " + packageName);
+ }
+ return !pkgSetting.getNotLaunched(userId);
+ }
+
boolean setPackageStoppedStateLPw(PackageManagerService pm, String packageName,
boolean stopped, boolean allowedByPermission, int uid, int userId) {
int appId = UserHandle.getAppId(uid);
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 1132ff9..ccf9b89 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -301,6 +301,9 @@
/** Amount of time (in milliseconds) to wait for windows drawn before powering on. */
static final int WAITING_FOR_DRAWN_TIMEOUT = 1000;
+ /** Amount of time (in milliseconds) a toast window can be shown. */
+ public static final int TOAST_WINDOW_TIMEOUT = 3500; // 3.5 seconds
+
/**
* Lock protecting internal state. Must not call out into window
* manager with lock held. (This lock will be acquired in places
@@ -2229,9 +2232,22 @@
attrs.privateFlags &= ~WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
}
break;
+
case TYPE_SCREENSHOT:
attrs.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
break;
+
+ case TYPE_TOAST:
+ // While apps should use the dedicated toast APIs to add such windows
+ // it possible legacy apps to add the window directly. Therefore, we
+ // make windows added directly by the app behave as a toast as much
+ // as possible in terms of timeout and animation.
+ if (attrs.hideTimeoutMilliseconds < 0
+ || attrs.hideTimeoutMilliseconds > TOAST_WINDOW_TIMEOUT) {
+ attrs.hideTimeoutMilliseconds = TOAST_WINDOW_TIMEOUT;
+ }
+ attrs.windowAnimations = com.android.internal.R.style.Animation_Toast;
+ break;
}
if (attrs.type != TYPE_STATUS_BAR) {
@@ -2805,7 +2821,11 @@
if (mNavigationBarPosition == NAV_BAR_BOTTOM) {
if (transit == TRANSIT_EXIT
|| transit == TRANSIT_HIDE) {
- return R.anim.dock_bottom_exit;
+ if (isKeyguardShowingAndNotOccluded()) {
+ return R.anim.dock_bottom_exit_keyguard;
+ } else {
+ return R.anim.dock_bottom_exit;
+ }
} else if (transit == TRANSIT_ENTER
|| transit == TRANSIT_SHOW) {
return R.anim.dock_bottom_enter;
@@ -5514,7 +5534,14 @@
@Override
public void onServiceDisconnected(ComponentName name) {
- notifyScreenshotError();
+ synchronized (mScreenshotLock) {
+ if (mScreenshotConnection != null) {
+ mContext.unbindService(mScreenshotConnection);
+ mScreenshotConnection = null;
+ mHandler.removeCallbacks(mScreenshotTimeout);
+ notifyScreenshotError();
+ }
+ }
}
};
if (mContext.bindServiceAsUser(serviceIntent, conn,
@@ -7751,7 +7778,7 @@
int delta = newRotation - oldRotation;
if (delta < 0) delta += 4;
// Likewise we don't rotate seamlessly for 180 degree rotations
- // in this case the surfaces never resize, and our logic to
+ // in this case the surfaces never resize, and our logic to
// revert the transformations on size change will fail. We could
// fix this in the future with the "tagged" frames idea.
if (delta == Surface.ROTATION_180) {
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index 2824e6e..570b93c 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -2538,18 +2538,18 @@
boolean setDeviceIdleModeInternal(boolean enabled) {
synchronized (mLock) {
- if (mDeviceIdleMode != enabled) {
- mDeviceIdleMode = enabled;
- updateWakeLockDisabledStatesLocked();
- if (enabled) {
- EventLogTags.writeDeviceIdleOnPhase("power");
- } else {
- EventLogTags.writeDeviceIdleOffPhase("power");
- }
- return true;
+ if (mDeviceIdleMode == enabled) {
+ return false;
}
- return false;
+ mDeviceIdleMode = enabled;
+ updateWakeLockDisabledStatesLocked();
}
+ if (enabled) {
+ EventLogTags.writeDeviceIdleOnPhase("power");
+ } else {
+ EventLogTags.writeDeviceIdleOffPhase("power");
+ }
+ return true;
}
boolean setLightDeviceIdleModeInternal(boolean enabled) {
diff --git a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
index 0ae1717..90c711a 100644
--- a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
+++ b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
@@ -87,6 +87,11 @@
private static final long DEFAULT_DISK_FREE_CHANGE_REPORTING_THRESHOLD = 2 * 1024 * 1024; // 2MB
private static final long DEFAULT_CHECK_INTERVAL = MONITOR_INTERVAL*60*1000;
+ // com.android.internal.R.string.low_internal_storage_view_text_no_boot
+ // hard codes 250MB in the message as the storage space required for the
+ // boot image.
+ private static final long BOOT_IMAGE_STORAGE_REQUIREMENT = 250 * 1024 * 1024;
+
private long mFreeMem; // on /data
private long mFreeMemAfterLastCacheClear; // on /data
private long mLastReportedFreeMem;
@@ -290,9 +295,10 @@
mLowMemFlag = false;
}
}
- if (!mLowMemFlag && !mIsBootImageOnDisk) {
+ if (!mLowMemFlag && !mIsBootImageOnDisk && mFreeMem < BOOT_IMAGE_STORAGE_REQUIREMENT) {
Slog.i(TAG, "No boot image on disk due to lack of space. Sending notification");
sendNotification();
+ mLowMemFlag = true;
}
if (mFreeMem < mMemFullThreshold) {
if (!mMemFullFlag) {
@@ -383,7 +389,7 @@
@Override
public boolean isMemoryLow() {
- return mLowMemFlag || !mIsBootImageOnDisk;
+ return mLowMemFlag;
}
@Override
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 9b5b101..b90b8643 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -22,14 +22,19 @@
import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
import static android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
import static android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
+import static android.view.WindowManager.LayoutParams.TYPE_TOAST;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_VISIBILITY;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
import static com.android.server.wm.WindowState.RESIZE_HANDLE_WIDTH_IN_DP;
import android.app.ActivityManager.StackId;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
import android.graphics.Rect;
import android.graphics.Region;
import android.graphics.Region.Op;
+import android.os.Build;
+import android.os.UserHandle;
import android.util.DisplayMetrics;
import android.util.Slog;
import android.view.Display;
@@ -684,4 +689,39 @@
mStacks.get(i).overridePlayingAppAnimations(a);
}
}
+
+ boolean canAddToastWindowForUid(int uid) {
+ // We allow one toast window per UID being shown at a time.
+ WindowList windows = getWindowList();
+ final int windowCount = windows.size();
+ for (int i = 0; i < windowCount; i++) {
+ WindowState window = windows.get(i);
+ if (window.mAttrs.type == TYPE_TOAST && window.mOwnerUid == uid
+ && !window.mPermanentlyHidden && !window.mAnimatingExit) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ void scheduleToastWindowsTimeoutIfNeededLocked(WindowState oldFocus,
+ WindowState newFocus) {
+ if (oldFocus == null || (newFocus != null && newFocus.mOwnerUid == oldFocus.mOwnerUid)) {
+ return;
+ }
+ final int lostFocusUid = oldFocus.mOwnerUid;
+ WindowList windows = getWindowList();
+ final int windowCount = windows.size();
+ for (int i = 0; i < windowCount; i++) {
+ WindowState window = windows.get(i);
+ if (window.mAttrs.type == TYPE_TOAST && window.mOwnerUid == lostFocusUid) {
+ if (!mService.mH.hasMessages(WindowManagerService.H.WINDOW_HIDE_TIMEOUT, window)) {
+ mService.mH.sendMessageDelayed(
+ mService.mH.obtainMessage(
+ WindowManagerService.H.WINDOW_HIDE_TIMEOUT, window),
+ window.mAttrs.hideTimeoutMilliseconds);
+ }
+ }
+ }
+ }
}
diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java
index 022848e..1ee5a22 100644
--- a/services/core/java/com/android/server/wm/WindowAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowAnimator.java
@@ -121,6 +121,9 @@
private final AppTokenList mTmpExitingAppTokens = new AppTokenList();
+ /** The window that was previously hiding the Keyguard. */
+ private WindowState mLastShowWinWhenLocked;
+
private String forceHidingToString() {
switch (mForceHiding) {
case KEYGUARD_NOT_SHOWN: return "KEYGUARD_NOT_SHOWN";
@@ -221,27 +224,43 @@
}
}
+ /**
+ * @return The window that is currently hiding the Keyguard, or if it was hiding the Keyguard,
+ * and it's still animating.
+ */
+ private WindowState getWinShowWhenLockedOrAnimating() {
+ final WindowState winShowWhenLocked = (WindowState) mPolicy.getWinShowWhenLockedLw();
+ if (winShowWhenLocked != null) {
+ return winShowWhenLocked;
+ }
+ if (mLastShowWinWhenLocked != null && mLastShowWinWhenLocked.isOnScreen()
+ && mLastShowWinWhenLocked.isAnimatingLw()
+ && (mLastShowWinWhenLocked.mAttrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0) {
+ return mLastShowWinWhenLocked;
+ }
+ return null;
+ }
+
private boolean shouldForceHide(WindowState win) {
final WindowState imeTarget = mService.mInputMethodTarget;
final boolean showImeOverKeyguard = imeTarget != null && imeTarget.isVisibleNow() &&
((imeTarget.getAttrs().flags & FLAG_SHOW_WHEN_LOCKED) != 0
|| !mPolicy.canBeForceHidden(imeTarget, imeTarget.mAttrs));
- final WindowState winShowWhenLocked = (WindowState) mPolicy.getWinShowWhenLockedLw();
+ final WindowState winShowWhenLocked = getWinShowWhenLockedOrAnimating();
final AppWindowToken appShowWhenLocked = winShowWhenLocked == null ?
null : winShowWhenLocked.mAppToken;
boolean allowWhenLocked = false;
// Show IME over the keyguard if the target allows it
allowWhenLocked |= (win.mIsImWindow || imeTarget == win) && showImeOverKeyguard;
- // Show SHOW_WHEN_LOCKED windows
- allowWhenLocked |= (win.mAttrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0;
- // Show windows that are attached to SHOW_WHEN_LOCKED windows
- allowWhenLocked |= win.mAttachedWindow != null
- && (win.mAttachedWindow.mAttrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0;
+ // Show SHOW_WHEN_LOCKED windows that turn on the screen
+ allowWhenLocked |= (win.mAttrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0 && win.mTurnOnScreen;
if (appShowWhenLocked != null) {
allowWhenLocked |= appShowWhenLocked == win.mAppToken
+ // Show all SHOW_WHEN_LOCKED windows if some apps are shown over lockscreen
+ || (win.mAttrs.flags & FLAG_SHOW_WHEN_LOCKED) != 0
// Show error dialogs over apps that are shown on lockscreen
|| (win.mAttrs.privateFlags & PRIVATE_FLAG_SYSTEM_ERROR) != 0;
}
@@ -556,6 +575,11 @@
mPostKeyguardExitAnimation = null;
}
}
+
+ final WindowState winShowWhenLocked = (WindowState) mPolicy.getWinShowWhenLockedLw();
+ if (winShowWhenLocked != null) {
+ mLastShowWinWhenLocked = winShowWhenLocked;
+ }
}
private void updateWallpaperLocked(int displayId) {
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 47a4114..707b137 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -21,6 +21,7 @@
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
import android.app.ActivityManagerNative;
import android.app.AppOpsManager;
@@ -35,6 +36,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.CompatibilityInfo;
import android.content.res.Configuration;
@@ -201,6 +203,7 @@
import static android.view.WindowManager.LayoutParams.TYPE_PRIVATE_PRESENTATION;
import static android.view.WindowManager.LayoutParams.TYPE_QS_DIALOG;
import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR;
+import static android.view.WindowManager.LayoutParams.TYPE_TOAST;
import static android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION;
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
import static android.view.WindowManagerGlobal.RELAYOUT_DEFER_SURFACE_DESTROY;
@@ -1869,6 +1872,7 @@
boolean reportNewConfig = false;
WindowState attachedWindow = null;
long origId;
+ final int callingUid = Binder.getCallingUid();
final int type = attrs.type;
synchronized(mWindowMap) {
@@ -1916,6 +1920,8 @@
boolean addToken = false;
WindowToken token = mTokenMap.get(attrs.token);
AppWindowToken atoken = null;
+ boolean addToastWindowRequiresToken = false;
+
if (token == null) {
if (type >= FIRST_APPLICATION_WINDOW && type <= LAST_APPLICATION_WINDOW) {
Slog.w(TAG_WM, "Attempted to add application window with unknown token "
@@ -1952,6 +1958,15 @@
+ attrs.token + ". Aborting.");
return WindowManagerGlobal.ADD_BAD_APP_TOKEN;
}
+ if (type == TYPE_TOAST) {
+ // Apps targeting SDK above N MR1 cannot arbitrary add toast windows.
+ if (doesAddToastWindowRequireToken(attrs.packageName, callingUid,
+ attachedWindow)) {
+ Slog.w(TAG_WM, "Attempted to add a toast window with unknown token "
+ + attrs.token + ". Aborting.");
+ return WindowManagerGlobal.ADD_BAD_APP_TOKEN;
+ }
+ }
token = new WindowToken(this, attrs.token, -1, false);
addToken = true;
} else if (type >= FIRST_APPLICATION_WINDOW && type <= LAST_APPLICATION_WINDOW) {
@@ -2001,6 +2016,15 @@
+ attrs.token + ". Aborting.");
return WindowManagerGlobal.ADD_BAD_APP_TOKEN;
}
+ } else if (type == TYPE_TOAST) {
+ // Apps targeting SDK above N MR1 cannot arbitrary add toast windows.
+ addToastWindowRequiresToken = doesAddToastWindowRequireToken(attrs.packageName,
+ callingUid, attachedWindow);
+ if (addToastWindowRequiresToken && token.windowType != TYPE_TOAST) {
+ Slog.w(TAG_WM, "Attempted to add a toast window with bad token "
+ + attrs.token + ". Aborting.");
+ return WindowManagerGlobal.ADD_BAD_APP_TOKEN;
+ }
} else if (type == TYPE_QS_DIALOG) {
if (token.windowType != TYPE_QS_DIALOG) {
Slog.w(TAG_WM, "Attempted to add QS dialog window with bad token "
@@ -2045,6 +2069,36 @@
win.openInputChannel(outInputChannel);
}
+ // If adding a toast requires a token for this app we always schedule hiding
+ // toast windows to make sure they don't stick around longer then necessary.
+ // We hide instead of remove such windows as apps aren't prepared to handle
+ // windows being removed under them.
+ //
+ // If the app is older it can add toasts without a token and hence overlay
+ // other apps. To be maximally compatible with these apps we will hide the
+ // window after the toast timeout only if the focused window is from another
+ // UID, otherwise we allow unlimited duration. When a UID looses focus we
+ // schedule hiding all of its toast windows.
+ if (type == TYPE_TOAST) {
+ if (!getDefaultDisplayContentLocked().canAddToastWindowForUid(callingUid)) {
+ Slog.w(TAG_WM, "Adding more than one toast window for UID at a time.");
+ return WindowManagerGlobal.ADD_DUPLICATE_ADD;
+ }
+ // Make sure this happens before we moved focus as one can make the
+ // toast focusable to force it not being hidden after the timeout.
+ // Focusable toasts are always timed out to prevent a focused app to
+ // show a focusable toasts while it has focus which will be kept on
+ // the screen after the activity goes away.
+ if (addToastWindowRequiresToken
+ || (attrs.flags & LayoutParams.FLAG_NOT_FOCUSABLE) == 0
+ || mCurrentFocus == null
+ || mCurrentFocus.mOwnerUid != callingUid) {
+ mH.sendMessageDelayed(
+ mH.obtainMessage(H.WINDOW_HIDE_TIMEOUT, win),
+ win.mAttrs.hideTimeoutMilliseconds);
+ }
+ }
+
// From now on, no exceptions or errors allowed!
res = WindowManagerGlobal.ADD_OKAY;
@@ -2183,11 +2237,6 @@
if (win.isVisibleOrAdding() && updateOrientationFromAppTokensLocked(false)) {
reportNewConfig = true;
}
- if (attrs.removeTimeoutMilliseconds > 0) {
- mH.sendMessageDelayed(
- mH.obtainMessage(H.WINDOW_REMOVE_TIMEOUT, win),
- attrs.removeTimeoutMilliseconds);
- }
}
if (reportNewConfig) {
@@ -2199,6 +2248,32 @@
return res;
}
+ private boolean doesAddToastWindowRequireToken(String packageName, int callingUid,
+ WindowState attachedWindow) {
+ // Try using the target SDK of the root window
+ if (attachedWindow != null) {
+ return attachedWindow.mAppToken != null
+ && attachedWindow.mAppToken.targetSdk > Build.VERSION_CODES.N_MR1;
+ } else {
+ // Otherwise, look at the package
+ try {
+ ApplicationInfo appInfo = mContext.getPackageManager()
+ .getApplicationInfoAsUser(packageName, 0,
+ UserHandle.getUserId(callingUid));
+ if (appInfo.uid != callingUid) {
+ throw new SecurityException("Package " + packageName + " not in UID "
+ + callingUid);
+ }
+ if (appInfo.targetSdkVersion > Build.VERSION_CODES.N_MR1) {
+ return true;
+ }
+ } catch (PackageManager.NameNotFoundException e) {
+ /* ignore */
+ }
+ }
+ return false;
+ }
+
/**
* Returns true if we're done setting up any transitions.
*/
@@ -8165,7 +8240,7 @@
public static final int NOTIFY_APP_TRANSITION_FINISHED = 49;
public static final int NOTIFY_STARTING_WINDOW_DRAWN = 50;
public static final int UPDATE_ANIMATION_SCALE = 51;
- public static final int WINDOW_REMOVE_TIMEOUT = 52;
+ public static final int WINDOW_HIDE_TIMEOUT = 52;
public static final int NOTIFY_DOCKED_STACK_MINIMIZED_CHANGED = 53;
public static final int SEAMLESS_ROTATION_TIMEOUT = 54;
@@ -8785,7 +8860,7 @@
mAmInternal.notifyStartingWindowDrawn();
}
break;
- case WINDOW_REMOVE_TIMEOUT: {
+ case WINDOW_HIDE_TIMEOUT: {
final WindowState window = (WindowState) msg.obj;
synchronized(mWindowMap) {
// TODO: This is all about fixing b/21693547
@@ -8796,8 +8871,11 @@
// running under debugger) to crash (b/29105388). The windows will
// eventually be removed when the client process finishes.
// The best we can do for now is remove the FLAG_KEEP_SCREEN_ON
- // and prevent the symptoms of b/21693547.
+ // and prevent the symptoms of b/21693547. Since apps don't
+ // support windows being removed under them we hide the window
+ // and it will be removed when the app dies.
window.mAttrs.flags &= ~FLAG_KEEP_SCREEN_ON;
+ window.hidePermanentlyLw();
window.setDisplayLayoutNeeded();
mWindowPlacerLocked.performSurfacePlacement();
}
@@ -9115,7 +9193,7 @@
}
@Override
- public void setForcedDisplayDensity(int displayId, int density) {
+ public void setForcedDisplayDensityForUser(int displayId, int density, int userId) {
if (mContext.checkCallingOrSelfPermission(
android.Manifest.permission.WRITE_SECURE_SETTINGS) !=
PackageManager.PERMISSION_GRANTED) {
@@ -9125,16 +9203,20 @@
if (displayId != Display.DEFAULT_DISPLAY) {
throw new IllegalArgumentException("Can only set the default display");
}
+
+ final int targetUserId = ActivityManager.handleIncomingUser(Binder.getCallingPid(),
+ Binder.getCallingUid(), userId, false, true, "setForcedDisplayDensityForUser",
+ null);
final long ident = Binder.clearCallingIdentity();
try {
synchronized(mWindowMap) {
final DisplayContent displayContent = getDisplayContentLocked(displayId);
- if (displayContent != null) {
+ if (displayContent != null && mCurrentUserId == targetUserId) {
setForcedDisplayDensityLocked(displayContent, density);
- Settings.Secure.putStringForUser(mContext.getContentResolver(),
- Settings.Secure.DISPLAY_DENSITY_FORCED,
- Integer.toString(density), mCurrentUserId);
}
+ Settings.Secure.putStringForUser(mContext.getContentResolver(),
+ Settings.Secure.DISPLAY_DENSITY_FORCED,
+ Integer.toString(density), targetUserId);
}
} finally {
Binder.restoreCallingIdentity(ident);
@@ -9142,7 +9224,7 @@
}
@Override
- public void clearForcedDisplayDensity(int displayId) {
+ public void clearForcedDisplayDensityForUser(int displayId, int userId) {
if (mContext.checkCallingOrSelfPermission(
android.Manifest.permission.WRITE_SECURE_SETTINGS) !=
PackageManager.PERMISSION_GRANTED) {
@@ -9152,16 +9234,20 @@
if (displayId != Display.DEFAULT_DISPLAY) {
throw new IllegalArgumentException("Can only set the default display");
}
+
+ final int callingUserId = ActivityManager.handleIncomingUser(Binder.getCallingPid(),
+ Binder.getCallingUid(), userId, false, true, "clearForcedDisplayDensityForUser",
+ null);
final long ident = Binder.clearCallingIdentity();
try {
synchronized(mWindowMap) {
final DisplayContent displayContent = getDisplayContentLocked(displayId);
- if (displayContent != null) {
+ if (displayContent != null && mCurrentUserId == callingUserId) {
setForcedDisplayDensityLocked(displayContent,
displayContent.mInitialDisplayDensity);
- Settings.Secure.putStringForUser(mContext.getContentResolver(),
- Settings.Secure.DISPLAY_DENSITY_FORCED, "", mCurrentUserId);
}
+ Settings.Secure.putStringForUser(mContext.getContentResolver(),
+ Settings.Secure.DISPLAY_DENSITY_FORCED, "", callingUserId);
}
} finally {
Binder.restoreCallingIdentity(ident);
@@ -9833,6 +9919,12 @@
adjustForImeIfNeeded(displayContent);
+ // We may need to schedule some toast windows to be removed. The
+ // toasts for an app that does not have input focus are removed
+ // within a timeout to prevent apps to redress other apps' UI.
+ getDefaultDisplayContentLocked().scheduleToastWindowsTimeoutIfNeededLocked(
+ oldFocus, newFocus);
+
Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
return true;
}
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 54f60ef..1fa0783 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -166,6 +166,7 @@
boolean mPolicyVisibility = true;
boolean mPolicyVisibilityAfterAnim = true;
boolean mAppOpVisibility = true;
+ boolean mPermanentlyHidden; // the window should never be shown again
boolean mAppFreezing;
boolean mAttachedHidden; // is our parent window hidden?
boolean mWallpaperVisible; // for wallpaper, what was last vis report?
@@ -1876,6 +1877,11 @@
// Being hidden due to app op request.
return false;
}
+ if (mPermanentlyHidden) {
+ // Permanently hidden until the app exists as apps aren't prepared
+ // to handle their windows being removed from under them.
+ return false;
+ }
if (mPolicyVisibility && mPolicyVisibilityAfterAnim) {
// Already showing.
return false;
@@ -1966,6 +1972,13 @@
}
}
+ public void hidePermanentlyLw() {
+ if (!mPermanentlyHidden) {
+ mPermanentlyHidden = true;
+ hideLw(true, true);
+ }
+ }
+
public void pokeDrawLockLw(long timeout) {
if (isVisibleOrAdding()) {
if (mDrawLock == null) {
@@ -2615,7 +2628,7 @@
pw.println(Integer.toHexString(mSystemUiVisibility));
}
if (!mPolicyVisibility || !mPolicyVisibilityAfterAnim || !mAppOpVisibility
- || mAttachedHidden) {
+ || mAttachedHidden || mPermanentlyHidden) {
pw.print(prefix); pw.print("mPolicyVisibility=");
pw.print(mPolicyVisibility);
pw.print(" mPolicyVisibilityAfterAnim=");
@@ -2623,6 +2636,7 @@
pw.print(" mAppOpVisibility=");
pw.print(mAppOpVisibility);
pw.print(" mAttachedHidden="); pw.println(mAttachedHidden);
+ pw.print(" mPermanentlyHidden="); pw.println(mPermanentlyHidden);
}
if (!mRelayoutCalled || mLayoutNeeded) {
pw.print(prefix); pw.print("mRelayoutCalled="); pw.print(mRelayoutCalled);
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 00f4a45..0285f70 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -228,8 +228,6 @@
int mAttrType;
static final long PENDING_TRANSACTION_FINISH_WAIT_TIME = 100;
- long mDeferTransactionUntilFrame = -1;
- long mDeferTransactionTime = -1;
boolean mForceScaleUntilResize;
@@ -2055,35 +2053,11 @@
if (!mWin.isChildWindow()) {
return;
}
- mDeferTransactionUntilFrame = frameNumber;
- mDeferTransactionTime = System.currentTimeMillis();
mSurfaceController.deferTransactionUntil(
mWin.mAttachedWindow.mWinAnimator.mSurfaceController.getHandle(),
frameNumber);
}
- // Defer the current transaction to the frame number of the last saved transaction.
- // We do this to avoid shooting through an unsynchronized transaction while something is
- // pending. This is generally fine, as either we will get in on the synchronization,
- // or SurfaceFlinger will see that the frame has already occured. The only
- // potential problem is in frame number resets so we reset things with a timeout
- // every so often to be careful.
- void deferToPendingTransaction() {
- if (mDeferTransactionUntilFrame < 0) {
- return;
- }
- long time = System.currentTimeMillis();
- if (time > mDeferTransactionTime + PENDING_TRANSACTION_FINISH_WAIT_TIME) {
- mDeferTransactionTime = -1;
- mDeferTransactionUntilFrame = -1;
- } else if (mWin.mAttachedWindow != null &&
- mWin.mAttachedWindow.mWinAnimator.hasSurface()) {
- mSurfaceController.deferTransactionUntil(
- mWin.mAttachedWindow.mWinAnimator.mSurfaceController.getHandle(),
- mDeferTransactionUntilFrame);
- }
- }
-
/**
* Sometimes we need to synchronize the first frame of animation with some external event.
* To achieve this, we prolong the start of the animation and keep producing the first frame of
diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
index fa5e3ca..5a79da9 100644
--- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
+++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
@@ -742,10 +742,6 @@
// Moved from updateWindowsAndWallpaperLocked().
if (w.mHasSurface) {
- // If we have recently synchronized a previous transaction for this
- // window ensure we don't push through an unsynchronized one now.
- winAnimator.deferToPendingTransaction();
-
// Take care of the window being ready to display.
final boolean committed = winAnimator.commitFinishDrawingLocked();
if (isDefaultDisplay && committed) {
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index a96cef0..777c0b3 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -29,6 +29,7 @@
import android.Manifest.permission;
import android.accessibilityservice.AccessibilityServiceInfo;
+import android.accounts.Account;
import android.accounts.AccountManager;
import android.annotation.IntDef;
import android.annotation.NonNull;
@@ -53,6 +54,7 @@
import android.app.admin.SecurityLog.SecurityEvent;
import android.app.admin.SystemUpdatePolicy;
import android.app.backup.IBackupManager;
+import android.app.trust.TrustManager;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
@@ -523,6 +525,7 @@
static class ActiveAdmin {
private static final String TAG_DISABLE_KEYGUARD_FEATURES = "disable-keyguard-features";
+ private static final String TAG_TEST_ONLY_ADMIN = "test-only-admin";
private static final String TAG_DISABLE_CAMERA = "disable-camera";
private static final String TAG_DISABLE_CALLER_ID = "disable-caller-id";
private static final String TAG_DISABLE_CONTACTS_SEARCH = "disable-contacts-search";
@@ -615,6 +618,7 @@
int disabledKeyguardFeatures = DEF_KEYGUARD_FEATURES_DISABLED;
boolean encryptionRequested = false;
+ boolean testOnlyAdmin = false;
boolean disableCamera = false;
boolean disableCallerId = false;
boolean disableContactsSearch = false;
@@ -784,6 +788,11 @@
out.attribute(null, ATTR_VALUE, Boolean.toString(encryptionRequested));
out.endTag(null, TAG_ENCRYPTION_REQUESTED);
}
+ if (testOnlyAdmin) {
+ out.startTag(null, TAG_TEST_ONLY_ADMIN);
+ out.attribute(null, ATTR_VALUE, Boolean.toString(testOnlyAdmin));
+ out.endTag(null, TAG_TEST_ONLY_ADMIN);
+ }
if (disableCamera) {
out.startTag(null, TAG_DISABLE_CAMERA);
out.attribute(null, ATTR_VALUE, Boolean.toString(disableCamera));
@@ -979,6 +988,9 @@
} else if (TAG_ENCRYPTION_REQUESTED.equals(tag)) {
encryptionRequested = Boolean.parseBoolean(
parser.getAttributeValue(null, ATTR_VALUE));
+ } else if (TAG_TEST_ONLY_ADMIN.equals(tag)) {
+ testOnlyAdmin = Boolean.parseBoolean(
+ parser.getAttributeValue(null, ATTR_VALUE));
} else if (TAG_DISABLE_CAMERA.equals(tag)) {
disableCamera = Boolean.parseBoolean(
parser.getAttributeValue(null, ATTR_VALUE));
@@ -1177,6 +1189,8 @@
void dump(String prefix, PrintWriter pw) {
pw.print(prefix); pw.print("uid="); pw.println(getUid());
+ pw.print(prefix); pw.print("testOnlyAdmin=");
+ pw.println(testOnlyAdmin);
pw.print(prefix); pw.println("policies:");
ArrayList<DeviceAdminInfo.PolicyInfo> pols = info.getUsedPolicies();
if (pols != null) {
@@ -1370,6 +1384,10 @@
return TelephonyManager.from(mContext);
}
+ TrustManager getTrustManager() {
+ return (TrustManager) mContext.getSystemService(Context.TRUST_SERVICE);
+ }
+
IWindowManager getIWindowManager() {
return IWindowManager.Stub
.asInterface(ServiceManager.getService(Context.WINDOW_SERVICE));
@@ -2823,8 +2841,9 @@
synchronized (this) {
long ident = mInjector.binderClearCallingIdentity();
try {
- if (!refreshing
- && getActiveAdminUncheckedLocked(adminReceiver, userHandle) != null) {
+ final ActiveAdmin existingAdmin
+ = getActiveAdminUncheckedLocked(adminReceiver, userHandle);
+ if (!refreshing && existingAdmin != null) {
throw new IllegalArgumentException("Admin is already added");
}
if (policy.mRemovingAdmins.contains(adminReceiver)) {
@@ -2832,6 +2851,9 @@
"Trying to set an admin which is being removed");
}
ActiveAdmin newAdmin = new ActiveAdmin(info, /* parent */ false);
+ newAdmin.testOnlyAdmin =
+ (existingAdmin != null) ? existingAdmin.testOnlyAdmin
+ : isPackageTestOnly(adminReceiver.getPackageName(), userHandle);
policy.mAdminMap.put(adminReceiver, newAdmin);
int replaceIndex = -1;
final int N = policy.mAdminList.size();
@@ -2943,23 +2965,13 @@
enforceShell("forceRemoveActiveAdmin");
long ident = mInjector.binderClearCallingIdentity();
try {
- final ApplicationInfo ai;
- try {
- ai = mIPackageManager.getApplicationInfo(adminReceiver.getPackageName(),
- 0, userHandle);
- } catch (RemoteException e) {
- throw new IllegalStateException(e);
- }
- if (ai == null) {
- throw new IllegalStateException("Couldn't find package to remove admin "
- + adminReceiver.getPackageName() + " " + userHandle);
- }
- if ((ai.flags & ApplicationInfo.FLAG_TEST_ONLY) == 0) {
- throw new SecurityException("Attempt to remove non-test admin " + adminReceiver
- + adminReceiver + " " + userHandle);
- }
- // If admin is a device or profile owner tidy that up first.
synchronized (this) {
+ if (!isAdminTestOnlyLocked(adminReceiver, userHandle)) {
+ throw new SecurityException("Attempt to remove non-test admin "
+ + adminReceiver + " " + userHandle);
+ }
+
+ // If admin is a device or profile owner tidy that up first.
if (isDeviceOwner(adminReceiver, userHandle)) {
clearDeviceOwnerLocked(getDeviceOwnerAdminLocked(), userHandle);
}
@@ -2971,11 +2983,47 @@
}
// Remove the admin skipping sending the broadcast.
removeAdminArtifacts(adminReceiver, userHandle);
+ Slog.i(LOG_TAG, "Admin " + adminReceiver + " removed from user " + userHandle);
} finally {
mInjector.binderRestoreCallingIdentity(ident);
}
}
+ /**
+ * Return if a given package has testOnly="true", in which case we'll relax certain rules
+ * for CTS.
+ *
+ * DO NOT use this method except in {@link #setActiveAdmin}. Use {@link #isAdminTestOnlyLocked}
+ * to check wehter an active admin is test-only or not.
+ *
+ * The system allows this flag to be changed when an app is updated, which is not good
+ * for us. So we persist the flag in {@link ActiveAdmin} when an admin is first installed,
+ * and used the persisted version in actual checks. (See b/31382361 and b/28928996)
+ */
+ private boolean isPackageTestOnly(String packageName, int userHandle) {
+ final ApplicationInfo ai;
+ try {
+ ai = mIPackageManager.getApplicationInfo(packageName,
+ (PackageManager.MATCH_DIRECT_BOOT_AWARE
+ | PackageManager.MATCH_DIRECT_BOOT_UNAWARE), userHandle);
+ } catch (RemoteException e) {
+ throw new IllegalStateException(e);
+ }
+ if (ai == null) {
+ throw new IllegalStateException("Couldn't find package to remove admin "
+ + packageName + " " + userHandle);
+ }
+ return (ai.flags & ApplicationInfo.FLAG_TEST_ONLY) != 0;
+ }
+
+ /**
+ * See {@link #isPackageTestOnly}.
+ */
+ private boolean isAdminTestOnlyLocked(ComponentName who, int userHandle) {
+ final ActiveAdmin admin = getActiveAdminUncheckedLocked(who, userHandle);
+ return (admin != null) && admin.testOnlyAdmin;
+ }
+
private void enforceShell(String method) {
final int callingUid = Binder.getCallingUid();
if (callingUid != Process.SHELL_UID && callingUid != Process.ROOT_UID) {
@@ -4200,6 +4248,8 @@
mInjector.powerManagerGoToSleep(SystemClock.uptimeMillis(),
PowerManager.GO_TO_SLEEP_REASON_DEVICE_ADMIN, 0);
mInjector.getIWindowManager().lockNow(null);
+ } else {
+ mInjector.getTrustManager().setDeviceLockedForUser(userToLock, true);
}
} catch (RemoteException e) {
} finally {
@@ -4514,7 +4564,7 @@
* not installed and therefore not available.
*
* @throws SecurityException if the caller is not a profile or device owner.
- * @throws UnsupportedException if the package does not support being set as always-on.
+ * @throws UnsupportedOperationException if the package does not support being set as always-on.
*/
@Override
public boolean setAlwaysOnVpnPackage(ComponentName admin, String vpnPackage, boolean lockdown)
@@ -5710,7 +5760,7 @@
+ " for device owner");
}
synchronized (this) {
- enforceCanSetDeviceOwnerLocked(userId);
+ enforceCanSetDeviceOwnerLocked(admin, userId);
if (getActiveAdminUncheckedLocked(admin, userId) == null
|| getUserData(userId).mRemovingAdmins.contains(admin)) {
throw new IllegalArgumentException("Not active admin: " + admin);
@@ -5742,6 +5792,7 @@
} finally {
mInjector.binderRestoreCallingIdentity(ident);
}
+ Slog.i(LOG_TAG, "Device owner set: " + admin + " on user " + userId);
return true;
}
}
@@ -5863,6 +5914,7 @@
} finally {
mInjector.binderRestoreCallingIdentity(ident);
}
+ Slog.i(LOG_TAG, "Device owner removed: " + deviceOwnerComponent);
}
}
@@ -5898,7 +5950,7 @@
+ " not installed for userId:" + userHandle);
}
synchronized (this) {
- enforceCanSetProfileOwnerLocked(userHandle);
+ enforceCanSetProfileOwnerLocked(who, userHandle);
if (getActiveAdminUncheckedLocked(who, userHandle) == null
|| getUserData(userHandle).mRemovingAdmins.contains(who)) {
@@ -5907,6 +5959,7 @@
mOwners.setProfileOwner(who, ownerName, userHandle);
mOwners.writeProfileOwner(userHandle);
+ Slog.i(LOG_TAG, "Profile owner set: " + who + " on user " + userHandle);
return true;
}
}
@@ -5931,6 +5984,7 @@
} finally {
mInjector.binderRestoreCallingIdentity(ident);
}
+ Slog.i(LOG_TAG, "Profile owner " + who + " removed from user " + userId);
}
}
@@ -6207,9 +6261,9 @@
* The profile owner can only be set before the user setup phase has completed,
* except for:
* - SYSTEM_UID
- * - adb if there are not accounts.
+ * - adb if there are no accounts. (But see {@link #hasIncompatibleAccountsLocked})
*/
- private void enforceCanSetProfileOwnerLocked(int userHandle) {
+ private void enforceCanSetProfileOwnerLocked(@Nullable ComponentName owner, int userHandle) {
UserInfo info = getUserInfo(userHandle);
if (info == null) {
// User doesn't exist.
@@ -6229,8 +6283,8 @@
}
int callingUid = mInjector.binderGetCallingUid();
if (callingUid == Process.SHELL_UID || callingUid == Process.ROOT_UID) {
- if (hasUserSetupCompleted(userHandle) &&
- AccountManager.get(mContext).getAccountsAsUser(userHandle).length > 0) {
+ if (hasUserSetupCompleted(userHandle)
+ && hasIncompatibleAccountsLocked(userHandle, owner)) {
throw new IllegalStateException("Not allowed to set the profile owner because "
+ "there are already some accounts on the profile");
}
@@ -6247,14 +6301,14 @@
* The Device owner can only be set by adb or an app with the MANAGE_PROFILE_AND_DEVICE_OWNERS
* permission.
*/
- private void enforceCanSetDeviceOwnerLocked(int userId) {
+ private void enforceCanSetDeviceOwnerLocked(@Nullable ComponentName owner, int userId) {
int callingUid = mInjector.binderGetCallingUid();
boolean isAdb = callingUid == Process.SHELL_UID || callingUid == Process.ROOT_UID;
if (!isAdb) {
enforceCanManageProfileAndDeviceOwners();
}
- final int code = checkSetDeviceOwnerPreCondition(userId, isAdb);
+ final int code = checkSetDeviceOwnerPreConditionLocked(owner, userId, isAdb);
switch (code) {
case CODE_OK:
return;
@@ -8471,8 +8525,8 @@
* The device owner can only be set before the setup phase of the primary user has completed,
* except for adb command if no accounts or additional users are present on the device.
*/
- private synchronized @DeviceOwnerPreConditionCode int checkSetDeviceOwnerPreCondition(
- int deviceOwnerUserId, boolean isAdb) {
+ private synchronized @DeviceOwnerPreConditionCode int checkSetDeviceOwnerPreConditionLocked(
+ @Nullable ComponentName owner, int deviceOwnerUserId, boolean isAdb) {
if (mOwners.hasDeviceOwner()) {
return CODE_HAS_DEVICE_OWNER;
}
@@ -8489,7 +8543,7 @@
if (mUserManager.getUserCount() > 1) {
return CODE_NONSYSTEM_USER_EXISTS;
}
- if (AccountManager.get(mContext).getAccounts().length > 0) {
+ if (hasIncompatibleAccountsLocked(UserHandle.USER_SYSTEM, owner)) {
return CODE_ACCOUNTS_NOT_EMPTY;
}
} else {
@@ -8515,7 +8569,10 @@
}
private boolean isDeviceOwnerProvisioningAllowed(int deviceOwnerUserId) {
- return CODE_OK == checkSetDeviceOwnerPreCondition(deviceOwnerUserId, /* isAdb */ false);
+ synchronized (this) {
+ return CODE_OK == checkSetDeviceOwnerPreConditionLocked(
+ /* owner unknown */ null, deviceOwnerUserId, /* isAdb */ false);
+ }
}
private boolean hasFeatureManagedUsers() {
@@ -9048,6 +9105,8 @@
saveSettingsLocked(userHandle);
updateMaximumTimeToLockLocked(userHandle);
policy.mRemovingAdmins.remove(adminReceiver);
+
+ Slog.i(LOG_TAG, "Device admin " + adminReceiver + " removed from user " + userHandle);
}
// The removed admin might have disabled camera, so update user
// restrictions.
@@ -9072,4 +9131,81 @@
return policy.mDeviceProvisioningConfigApplied;
}
}
+
+ /**
+ * Return true if a given user has any accounts that'll prevent installing a device or profile
+ * owner {@code owner}.
+ * - If the user has no accounts, then return false.
+ * - Otherwise, if the owner is unknown (== null), or is not test-only, then return true.
+ * - Otherwise, if there's any account that does not have ..._ALLOWED, or does have
+ * ..._DISALLOWED, return true.
+ * - Otherwise return false.
+ */
+ private boolean hasIncompatibleAccountsLocked(int userId, @Nullable ComponentName owner) {
+ final long token = mInjector.binderClearCallingIdentity();
+ try {
+ final AccountManager am = AccountManager.get(mContext);
+ final Account accounts[] = am.getAccountsAsUser(userId);
+ if (accounts.length == 0) {
+ return false;
+ }
+ final String[] feature_allow =
+ { DevicePolicyManager.ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED };
+ final String[] feature_disallow =
+ { DevicePolicyManager.ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED };
+
+ // Even if we find incompatible accounts along the way, we still check all accounts
+ // for logging.
+ boolean compatible = true;
+ for (Account account : accounts) {
+ if (hasAccountFeatures(am, account, feature_disallow)) {
+ Log.e(LOG_TAG, account + " has " + feature_disallow[0]);
+ compatible = false;
+ }
+ if (!hasAccountFeatures(am, account, feature_allow)) {
+ Log.e(LOG_TAG, account + " doesn't have " + feature_allow[0]);
+ compatible = false;
+ }
+ }
+ if (compatible) {
+ Log.w(LOG_TAG, "All accounts are compatible");
+ } else {
+ Log.e(LOG_TAG, "Found incompatible accounts");
+ }
+
+ // Then check if the owner is test-only.
+ String log;
+ if (owner == null) {
+ // Owner is unknown. Suppose it's not test-only
+ compatible = false;
+ log = "Only test-only device/profile owner can be installed with accounts";
+ } else if (isAdminTestOnlyLocked(owner, userId)) {
+ if (compatible) {
+ log = "Installing test-only owner " + owner;
+ } else {
+ log = "Can't install test-only owner " + owner + " with incompatible accounts";
+ }
+ } else {
+ compatible = false;
+ log = "Can't install non test-only owner " + owner + " with accounts";
+ }
+ if (compatible) {
+ Log.w(LOG_TAG, log);
+ } else {
+ Log.e(LOG_TAG, log);
+ }
+ return !compatible;
+ } finally {
+ mInjector.binderRestoreCallingIdentity(token);
+ }
+ }
+
+ private boolean hasAccountFeatures(AccountManager am, Account account, String[] features) {
+ try {
+ return am.hasFeatures(account, features, null, null).getResult();
+ } catch (Exception e) {
+ Log.w(LOG_TAG, "Failed to get account feature", e);
+ return false;
+ }
+ }
}
diff --git a/services/net/java/android/net/apf/ApfFilter.java b/services/net/java/android/net/apf/ApfFilter.java
index 4bb0902..4c75452 100644
--- a/services/net/java/android/net/apf/ApfFilter.java
+++ b/services/net/java/android/net/apf/ApfFilter.java
@@ -19,6 +19,7 @@
import static android.system.OsConstants.*;
import android.os.SystemClock;
+import android.net.LinkAddress;
import android.net.LinkProperties;
import android.net.NetworkUtils;
import android.net.apf.ApfGenerator;
@@ -44,6 +45,7 @@
import java.io.FileDescriptor;
import java.io.IOException;
import java.lang.Thread;
+import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
@@ -171,8 +173,8 @@
private static final int ETH_HEADER_LEN = 14;
private static final int ETH_DEST_ADDR_OFFSET = 0;
private static final int ETH_ETHERTYPE_OFFSET = 12;
- private static final byte[] ETH_BROADCAST_MAC_ADDRESS = new byte[]{
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff };
+ private static final byte[] ETH_BROADCAST_MAC_ADDRESS =
+ {(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff };
// TODO: Make these offsets relative to end of link-layer header; don't include ETH_HEADER_LEN.
private static final int IPV4_FRAGMENT_OFFSET_OFFSET = ETH_HEADER_LEN + 6;
// Endianness is not an issue for this constant because the APF interpreter always operates in
@@ -181,6 +183,7 @@
private static final int IPV4_PROTOCOL_OFFSET = ETH_HEADER_LEN + 9;
private static final int IPV4_DEST_ADDR_OFFSET = ETH_HEADER_LEN + 16;
private static final int IPV4_ANY_HOST_ADDRESS = 0;
+ private static final int IPV4_BROADCAST_ADDRESS = -1; // 255.255.255.255
private static final int IPV6_NEXT_HEADER_OFFSET = ETH_HEADER_LEN + 6;
private static final int IPV6_SRC_ADDR_OFFSET = ETH_HEADER_LEN + 8;
@@ -188,7 +191,7 @@
private static final int IPV6_HEADER_LEN = 40;
// The IPv6 all nodes address ff02::1
private static final byte[] IPV6_ALL_NODES_ADDRESS =
- new byte[]{ (byte) 0xff, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
+ { (byte) 0xff, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
private static final int ICMP6_TYPE_OFFSET = ETH_HEADER_LEN + IPV6_HEADER_LEN;
private static final int ICMP6_NEIGHBOR_ANNOUNCEMENT = 136;
@@ -206,7 +209,7 @@
private static final int ARP_OPCODE_OFFSET = ARP_HEADER_OFFSET + 6;
private static final short ARP_OPCODE_REQUEST = 1;
private static final short ARP_OPCODE_REPLY = 2;
- private static final byte[] ARP_IPV4_HEADER = new byte[]{
+ private static final byte[] ARP_IPV4_HEADER = {
0, 1, // Hardware type: Ethernet (1)
8, 0, // Protocol type: IP (0x0800)
6, // Hardware size: 6
@@ -229,6 +232,9 @@
// Our IPv4 address, if we have just one, otherwise null.
@GuardedBy("this")
private byte[] mIPv4Address;
+ // The subnet prefix length of our IPv4 network. Only valid if mIPv4Address is not null.
+ @GuardedBy("this")
+ private int mIPv4PrefixLength;
@VisibleForTesting
ApfFilter(ApfCapabilities apfCapabilities, NetworkInterface networkInterface,
@@ -364,26 +370,6 @@
// Can't be static because it's in a non-static inner class.
// TODO: Make this static once RA is its own class.
- private int uint8(byte b) {
- return b & 0xff;
- }
-
- private int uint16(short s) {
- return s & 0xffff;
- }
-
- private long uint32(int i) {
- return i & 0xffffffffL;
- }
-
- private long getUint16(ByteBuffer buffer, int position) {
- return uint16(buffer.getShort(position));
- }
-
- private long getUint32(ByteBuffer buffer, int position) {
- return uint32(buffer.getInt(position));
- }
-
private void prefixOptionToString(StringBuffer sb, int offset) {
String prefix = IPv6AddresstoString(offset + 16);
int length = uint8(mPacket.get(offset + 2));
@@ -737,39 +723,57 @@
// Here's a basic summary of what the IPv4 filter program does:
//
// if filtering multicast (i.e. multicast lock not held):
- // if it's multicast:
- // drop
- // if it's not broadcast:
+ // if it's DHCP destined to our MAC:
// pass
- // if it's not DHCP destined to our MAC:
+ // if it's L2 broadcast:
+ // drop
+ // if it's IPv4 multicast:
+ // drop
+ // if it's IPv4 broadcast:
// drop
// pass
if (mMulticastFilter) {
- // Check for multicast destination address range
+ final String skipDhcpv4Filter = "skip_dhcp_v4_filter";
+
+ // Pass DHCP addressed to us.
+ // Check it's UDP.
+ gen.addLoad8(Register.R0, IPV4_PROTOCOL_OFFSET);
+ gen.addJumpIfR0NotEquals(IPPROTO_UDP, skipDhcpv4Filter);
+ // Check it's not a fragment. This matches the BPF filter installed by the DHCP client.
+ gen.addLoad16(Register.R0, IPV4_FRAGMENT_OFFSET_OFFSET);
+ gen.addJumpIfR0AnyBitsSet(IPV4_FRAGMENT_OFFSET_MASK, skipDhcpv4Filter);
+ // Check it's addressed to DHCP client port.
+ gen.addLoadFromMemory(Register.R1, gen.IPV4_HEADER_SIZE_MEMORY_SLOT);
+ gen.addLoad16Indexed(Register.R0, UDP_DESTINATION_PORT_OFFSET);
+ gen.addJumpIfR0NotEquals(DHCP_CLIENT_PORT, skipDhcpv4Filter);
+ // Check it's DHCP to our MAC address.
+ gen.addLoadImmediate(Register.R0, DHCP_CLIENT_MAC_OFFSET);
+ // NOTE: Relies on R1 containing IPv4 header offset.
+ gen.addAddR1();
+ gen.addJumpIfBytesNotEqual(Register.R0, mHardwareAddress, skipDhcpv4Filter);
+ gen.addJump(gen.PASS_LABEL);
+
+ // Drop all multicasts/broadcasts.
+ gen.defineLabel(skipDhcpv4Filter);
+
+ // If IPv4 destination address is in multicast range, drop.
gen.addLoad8(Register.R0, IPV4_DEST_ADDR_OFFSET);
gen.addAnd(0xf0);
gen.addJumpIfR0Equals(0xe0, gen.DROP_LABEL);
- // Drop all broadcasts besides DHCP addressed to us
- // If not a broadcast packet, pass
+ // If IPv4 broadcast packet, drop regardless of L2 (b/30231088).
+ gen.addLoad32(Register.R0, IPV4_DEST_ADDR_OFFSET);
+ gen.addJumpIfR0Equals(IPV4_BROADCAST_ADDRESS, gen.DROP_LABEL);
+ if (mIPv4Address != null && mIPv4PrefixLength < 31) {
+ int broadcastAddr = ipv4BroadcastAddress(mIPv4Address, mIPv4PrefixLength);
+ gen.addJumpIfR0Equals(broadcastAddr, gen.DROP_LABEL);
+ }
+
+ // If L2 broadcast packet, drop.
gen.addLoadImmediate(Register.R0, ETH_DEST_ADDR_OFFSET);
gen.addJumpIfBytesNotEqual(Register.R0, ETH_BROADCAST_MAC_ADDRESS, gen.PASS_LABEL);
- // If not UDP, drop
- gen.addLoad8(Register.R0, IPV4_PROTOCOL_OFFSET);
- gen.addJumpIfR0NotEquals(IPPROTO_UDP, gen.DROP_LABEL);
- // If fragment, drop. This matches the BPF filter installed by the DHCP client.
- gen.addLoad16(Register.R0, IPV4_FRAGMENT_OFFSET_OFFSET);
- gen.addJumpIfR0AnyBitsSet(IPV4_FRAGMENT_OFFSET_MASK, gen.DROP_LABEL);
- // If not to DHCP client port, drop
- gen.addLoadFromMemory(Register.R1, gen.IPV4_HEADER_SIZE_MEMORY_SLOT);
- gen.addLoad16Indexed(Register.R0, UDP_DESTINATION_PORT_OFFSET);
- gen.addJumpIfR0NotEquals(DHCP_CLIENT_PORT, gen.DROP_LABEL);
- // If not DHCP to our MAC address, drop
- gen.addLoadImmediate(Register.R0, DHCP_CLIENT_MAC_OFFSET);
- // NOTE: Relies on R1 containing IPv4 header offset.
- gen.addAddR1();
- gen.addJumpIfBytesNotEqual(Register.R0, mHardwareAddress, gen.DROP_LABEL);
+ gen.addJump(gen.DROP_LABEL);
}
// Otherwise, pass
@@ -1062,26 +1066,32 @@
}
}
- // Find the single IPv4 address if there is one, otherwise return null.
- private static byte[] findIPv4Address(LinkProperties lp) {
- byte[] ipv4Address = null;
- for (InetAddress inetAddr : lp.getAddresses()) {
- byte[] addr = inetAddr.getAddress();
- if (addr.length != 4) continue;
- // More than one IPv4 address, abort
- if (ipv4Address != null && !Arrays.equals(ipv4Address, addr)) return null;
- ipv4Address = addr;
+ /** Find the single IPv4 LinkAddress if there is one, otherwise return null. */
+ private static LinkAddress findIPv4LinkAddress(LinkProperties lp) {
+ LinkAddress ipv4Address = null;
+ for (LinkAddress address : lp.getLinkAddresses()) {
+ if (!(address.getAddress() instanceof Inet4Address)) {
+ continue;
+ }
+ if (ipv4Address != null && !ipv4Address.isSameAddressAs(address)) {
+ // More than one IPv4 address, abort.
+ return null;
+ }
+ ipv4Address = address;
}
return ipv4Address;
}
public synchronized void setLinkProperties(LinkProperties lp) {
// NOTE: Do not keep a copy of LinkProperties as it would further duplicate state.
- byte[] ipv4Address = findIPv4Address(lp);
- // If ipv4Address is the same as mIPv4Address, then there's no change, just return.
- if (Arrays.equals(ipv4Address, mIPv4Address)) return;
- // Otherwise update mIPv4Address and install new program.
- mIPv4Address = ipv4Address;
+ final LinkAddress ipv4Address = findIPv4LinkAddress(lp);
+ final byte[] addr = (ipv4Address != null) ? ipv4Address.getAddress().getAddress() : null;
+ final int prefix = (ipv4Address != null) ? ipv4Address.getPrefixLength() : 0;
+ if ((prefix == mIPv4PrefixLength) && Arrays.equals(addr, mIPv4Address)) {
+ return;
+ }
+ mIPv4Address = addr;
+ mIPv4PrefixLength = prefix;
installNewProgramLocked();
}
@@ -1127,4 +1137,38 @@
pw.decreaseIndent();
}
}
+
+ private static int uint8(byte b) {
+ return b & 0xff;
+ }
+
+ private static int uint16(short s) {
+ return s & 0xffff;
+ }
+
+ private static long uint32(int i) {
+ return i & 0xffffffffL;
+ }
+
+ private static long getUint16(ByteBuffer buffer, int position) {
+ return uint16(buffer.getShort(position));
+ }
+
+ private static long getUint32(ByteBuffer buffer, int position) {
+ return uint32(buffer.getInt(position));
+ }
+
+ // TODO: move to android.net.NetworkUtils
+ @VisibleForTesting
+ public static int ipv4BroadcastAddress(byte[] addrBytes, int prefixLength) {
+ return bytesToInt(addrBytes) | (int) (uint32(-1) >>> prefixLength);
+ }
+
+ @VisibleForTesting
+ public static int bytesToInt(byte[] addrBytes) {
+ return (uint8(addrBytes[0]) << 24)
+ + (uint8(addrBytes[1]) << 16)
+ + (uint8(addrBytes[2]) << 8)
+ + (uint8(addrBytes[3]));
+ }
}
diff --git a/services/tests/servicestests/src/android/net/apf/ApfTest.java b/services/tests/servicestests/src/android/net/apf/ApfTest.java
index bd76118..f7c61d1 100644
--- a/services/tests/servicestests/src/android/net/apf/ApfTest.java
+++ b/services/tests/servicestests/src/android/net/apf/ApfTest.java
@@ -20,6 +20,9 @@
import com.android.frameworks.servicestests.R;
+import android.net.LinkAddress;
+import android.net.LinkProperties;
+import android.net.NetworkUtils;
import android.net.apf.ApfCapabilities;
import android.net.apf.ApfFilter;
import android.net.apf.ApfGenerator;
@@ -28,8 +31,6 @@
import android.net.ip.IpManager;
import android.net.metrics.IpConnectivityLog;
import android.net.metrics.RaEvent;
-import android.net.LinkAddress;
-import android.net.LinkProperties;
import android.os.ConditionVariable;
import android.os.Parcelable;
import android.system.ErrnoException;
@@ -61,7 +62,7 @@
* Tests for APF program generator and interpreter.
*
* Build, install and run with:
- * runtest frameworks-services -c com.android.server.ApfTest
+ * runtest frameworks-services -c android.net.apf.ApfTest
*/
public class ApfTest extends AndroidTestCase {
private static final int TIMEOUT_MS = 500;
@@ -86,21 +87,45 @@
private final static boolean DROP_MULTICAST = true;
private final static boolean ALLOW_MULTICAST = false;
+ private static String label(int code) {
+ switch (code) {
+ case PASS: return "PASS";
+ case DROP: return "DROP";
+ default: return "UNKNOWN";
+ }
+ }
+
+ private static void assertReturnCodesEqual(int expected, int got) {
+ assertEquals(label(expected), label(got));
+ }
+
private void assertVerdict(int expected, byte[] program, byte[] packet, int filterAge) {
- assertEquals(expected, apfSimulate(program, packet, filterAge));
+ assertReturnCodesEqual(expected, apfSimulate(program, packet, filterAge));
+ }
+
+ private void assertVerdict(int expected, byte[] program, byte[] packet) {
+ assertReturnCodesEqual(expected, apfSimulate(program, packet, 0));
}
private void assertPass(byte[] program, byte[] packet, int filterAge) {
assertVerdict(PASS, program, packet, filterAge);
}
+ private void assertPass(byte[] program, byte[] packet) {
+ assertVerdict(PASS, program, packet);
+ }
+
private void assertDrop(byte[] program, byte[] packet, int filterAge) {
assertVerdict(DROP, program, packet, filterAge);
}
+ private void assertDrop(byte[] program, byte[] packet) {
+ assertVerdict(DROP, program, packet);
+ }
+
private void assertVerdict(int expected, ApfGenerator gen, byte[] packet, int filterAge)
throws IllegalInstructionException {
- assertEquals(expected, apfSimulate(gen.generate(), packet, filterAge));
+ assertReturnCodesEqual(expected, apfSimulate(gen.generate(), packet, filterAge));
}
private void assertPass(ApfGenerator gen, byte[] packet, int filterAge)
@@ -516,7 +541,7 @@
gen = new ApfGenerator();
gen.addLoadImmediate(Register.R0, 1);
gen.addJumpIfBytesNotEqual(Register.R0, new byte[]{123}, gen.DROP_LABEL);
- byte[] packet123 = new byte[]{0,123,0,0,0,0,0,0,0,0,0,0,0,0,0};
+ byte[] packet123 = {0,123,0,0,0,0,0,0,0,0,0,0,0,0,0};
assertPass(gen, packet123, 0);
gen = new ApfGenerator();
gen.addJumpIfBytesNotEqual(Register.R0, new byte[]{123}, gen.DROP_LABEL);
@@ -524,7 +549,7 @@
gen = new ApfGenerator();
gen.addLoadImmediate(Register.R0, 1);
gen.addJumpIfBytesNotEqual(Register.R0, new byte[]{1,2,30,4,5}, gen.DROP_LABEL);
- byte[] packet12345 = new byte[]{0,1,2,3,4,5,0,0,0,0,0,0,0,0,0};
+ byte[] packet12345 = {0,1,2,3,4,5,0,0,0,0,0,0,0,0,0};
assertDrop(gen, packet12345, 0);
gen = new ApfGenerator();
gen.addLoadImmediate(Register.R0, 1);
@@ -575,12 +600,12 @@
}
private static class TestApfFilter extends ApfFilter {
- public final static byte[] MOCK_MAC_ADDR = new byte[]{1,2,3,4,5,6};
+ public final static byte[] MOCK_MAC_ADDR = {1,2,3,4,5,6};
private FileDescriptor mWriteSocket;
public TestApfFilter(IpManager.Callback ipManagerCallback, boolean multicastFilter,
IpConnectivityLog log) throws Exception {
- super(new ApfCapabilities(2, 1536, ARPHRD_ETHER), NetworkInterface.getByName("lo"),
+ super(new ApfCapabilities(2, 1700, ARPHRD_ETHER), NetworkInterface.getByName("lo"),
ipManagerCallback, multicastFilter, log);
}
@@ -620,19 +645,21 @@
private static final int ETH_HEADER_LEN = 14;
private static final int ETH_DEST_ADDR_OFFSET = 0;
private static final int ETH_ETHERTYPE_OFFSET = 12;
- private static final byte[] ETH_BROADCAST_MAC_ADDRESS = new byte[]{
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff };
+ private static final byte[] ETH_BROADCAST_MAC_ADDRESS =
+ {(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff };
private static final int IPV4_VERSION_IHL_OFFSET = ETH_HEADER_LEN + 0;
private static final int IPV4_PROTOCOL_OFFSET = ETH_HEADER_LEN + 9;
private static final int IPV4_DEST_ADDR_OFFSET = ETH_HEADER_LEN + 16;
+ private static final byte[] IPV4_BROADCAST_ADDRESS =
+ {(byte) 255, (byte) 255, (byte) 255, (byte) 255};
private static final int IPV6_NEXT_HEADER_OFFSET = ETH_HEADER_LEN + 6;
private static final int IPV6_HEADER_LEN = 40;
private static final int IPV6_DEST_ADDR_OFFSET = ETH_HEADER_LEN + 24;
// The IPv6 all nodes address ff02::1
private static final byte[] IPV6_ALL_NODES_ADDRESS =
- new byte[]{ (byte) 0xff, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
+ { (byte) 0xff, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
private static final int ICMP6_TYPE_OFFSET = ETH_HEADER_LEN + IPV6_HEADER_LEN;
private static final int ICMP6_ROUTER_ADVERTISEMENT = 134;
@@ -670,14 +697,14 @@
private static final int DHCP_CLIENT_MAC_OFFSET = ETH_HEADER_LEN + UDP_HEADER_LEN + 48;
private static final int ARP_HEADER_OFFSET = ETH_HEADER_LEN;
- private static final byte[] ARP_IPV4_REQUEST_HEADER = new byte[]{
+ private static final byte[] ARP_IPV4_REQUEST_HEADER = {
0, 1, // Hardware type: Ethernet (1)
8, 0, // Protocol type: IP (0x0800)
6, // Hardware size: 6
4, // Protocol size: 4
0, 1 // Opcode: request (1)
};
- private static final byte[] ARP_IPV4_REPLY_HEADER = new byte[]{
+ private static final byte[] ARP_IPV4_REPLY_HEADER = {
0, 1, // Hardware type: Ethernet (1)
8, 0, // Protocol type: IP (0x0800)
6, // Hardware size: 6
@@ -686,38 +713,63 @@
};
private static final int ARP_TARGET_IP_ADDRESS_OFFSET = ETH_HEADER_LEN + 24;
- private static final byte[] MOCK_IPV4_ADDR = new byte[]{10, 0, 0, 1};
- private static final byte[] ANOTHER_IPV4_ADDR = new byte[]{10, 0, 0, 2};
- private static final byte[] IPV4_ANY_HOST_ADDR = new byte[]{0, 0, 0, 0};
+ private static final byte[] MOCK_IPV4_ADDR = {10, 0, 0, 1};
+ private static final byte[] MOCK_BROADCAST_IPV4_ADDR = {10, 0, 31, (byte) 255}; // prefix = 19
+ private static final byte[] MOCK_MULTICAST_IPV4_ADDR = {(byte) 224, 0, 0, 1};
+ private static final byte[] ANOTHER_IPV4_ADDR = {10, 0, 0, 2};
+ private static final byte[] IPV4_ANY_HOST_ADDR = {0, 0, 0, 0};
@LargeTest
public void testApfFilterIPv4() throws Exception {
MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback();
+ LinkAddress link = new LinkAddress(InetAddress.getByAddress(MOCK_IPV4_ADDR), 19);
+ LinkProperties lp = new LinkProperties();
+ lp.addLinkAddress(link);
+
ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, DROP_MULTICAST, mLog);
+ apfFilter.setLinkProperties(lp);
+
byte[] program = ipManagerCallback.getApfProgram();
// Verify empty packet of 100 zero bytes is passed
ByteBuffer packet = ByteBuffer.wrap(new byte[100]);
- assertPass(program, packet.array(), 0);
+ assertPass(program, packet.array());
// Verify unicast IPv4 packet is passed
+ put(packet, ETH_DEST_ADDR_OFFSET, TestApfFilter.MOCK_MAC_ADDR);
packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IP);
- assertPass(program, packet.array(), 0);
+ put(packet, IPV4_DEST_ADDR_OFFSET, MOCK_IPV4_ADDR);
+ assertPass(program, packet.array());
- // Verify broadcast IPv4, not DHCP to us, is dropped
- packet.put(ETH_BROADCAST_MAC_ADDRESS);
- assertDrop(program, packet.array(), 0);
+ // Verify L2 unicast to IPv4 broadcast addresses is dropped (b/30231088)
+ put(packet, IPV4_DEST_ADDR_OFFSET, IPV4_BROADCAST_ADDRESS);
+ assertDrop(program, packet.array());
+ put(packet, IPV4_DEST_ADDR_OFFSET, MOCK_BROADCAST_IPV4_ADDR);
+ assertDrop(program, packet.array());
+
+ // Verify multicast/broadcast IPv4, not DHCP to us, is dropped
+ put(packet, ETH_DEST_ADDR_OFFSET, ETH_BROADCAST_MAC_ADDRESS);
+ assertDrop(program, packet.array());
packet.put(IPV4_VERSION_IHL_OFFSET, (byte)0x45);
- assertDrop(program, packet.array(), 0);
+ assertDrop(program, packet.array());
packet.put(IPV4_PROTOCOL_OFFSET, (byte)IPPROTO_UDP);
- assertDrop(program, packet.array(), 0);
+ assertDrop(program, packet.array());
packet.putShort(UDP_DESTINATION_PORT_OFFSET, (short)DHCP_CLIENT_PORT);
- assertDrop(program, packet.array(), 0);
+ assertDrop(program, packet.array());
+ put(packet, IPV4_DEST_ADDR_OFFSET, MOCK_MULTICAST_IPV4_ADDR);
+ assertDrop(program, packet.array());
+ put(packet, IPV4_DEST_ADDR_OFFSET, MOCK_BROADCAST_IPV4_ADDR);
+ assertDrop(program, packet.array());
+ put(packet, IPV4_DEST_ADDR_OFFSET, IPV4_BROADCAST_ADDRESS);
+ assertDrop(program, packet.array());
// Verify broadcast IPv4 DHCP to us is passed
- packet.position(DHCP_CLIENT_MAC_OFFSET);
- packet.put(TestApfFilter.MOCK_MAC_ADDR);
- assertPass(program, packet.array(), 0);
+ put(packet, DHCP_CLIENT_MAC_OFFSET, TestApfFilter.MOCK_MAC_ADDR);
+ assertPass(program, packet.array());
+
+ // Verify unicast IPv4 DHCP to us is passed
+ put(packet, ETH_DEST_ADDR_OFFSET, TestApfFilter.MOCK_MAC_ADDR);
+ assertPass(program, packet.array());
apfFilter.shutdown();
}
@@ -731,82 +783,108 @@
// Verify empty IPv6 packet is passed
ByteBuffer packet = ByteBuffer.wrap(new byte[100]);
packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IPV6);
- assertPass(program, packet.array(), 0);
+ assertPass(program, packet.array());
// Verify empty ICMPv6 packet is passed
packet.put(IPV6_NEXT_HEADER_OFFSET, (byte)IPPROTO_ICMPV6);
- assertPass(program, packet.array(), 0);
+ assertPass(program, packet.array());
// Verify empty ICMPv6 NA packet is passed
packet.put(ICMP6_TYPE_OFFSET, (byte)ICMP6_NEIGHBOR_ANNOUNCEMENT);
- assertPass(program, packet.array(), 0);
+ assertPass(program, packet.array());
// Verify ICMPv6 NA to ff02::1 is dropped
- packet.position(IPV6_DEST_ADDR_OFFSET);
- packet.put(IPV6_ALL_NODES_ADDRESS);
- assertDrop(program, packet.array(), 0);
+ put(packet, IPV6_DEST_ADDR_OFFSET, IPV6_ALL_NODES_ADDRESS);
+ assertDrop(program, packet.array());
apfFilter.shutdown();
}
@LargeTest
public void testApfFilterMulticast() throws Exception {
+ final byte[] unicastIpv4Addr = {(byte)192,0,2,63};
+ final byte[] broadcastIpv4Addr = {(byte)192,0,2,(byte)255};
+ final byte[] multicastIpv4Addr = {(byte)224,0,0,1};
+ final byte[] multicastIpv6Addr = {(byte)0xff,2,0,0,0,0,0,0,0,0,0,0,0,0,0,(byte)0xfb};
+
MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback();
+ LinkAddress link = new LinkAddress(InetAddress.getByAddress(unicastIpv4Addr), 24);
+ LinkProperties lp = new LinkProperties();
+ lp.addLinkAddress(link);
+
ApfFilter apfFilter = new TestApfFilter(ipManagerCallback, ALLOW_MULTICAST, mLog);
+ apfFilter.setLinkProperties(lp);
+
byte[] program = ipManagerCallback.getApfProgram();
// Construct IPv4 and IPv6 multicast packets.
ByteBuffer mcastv4packet = ByteBuffer.wrap(new byte[100]);
mcastv4packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IP);
- mcastv4packet.position(IPV4_DEST_ADDR_OFFSET);
- mcastv4packet.put(new byte[]{(byte)224,0,0,1});
+ put(mcastv4packet, IPV4_DEST_ADDR_OFFSET, multicastIpv4Addr);
ByteBuffer mcastv6packet = ByteBuffer.wrap(new byte[100]);
mcastv6packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IPV6);
mcastv6packet.put(IPV6_NEXT_HEADER_OFFSET, (byte)IPPROTO_UDP);
- mcastv6packet.position(IPV6_DEST_ADDR_OFFSET);
- mcastv6packet.put(new byte[]{(byte)0xff,2,0,0,0,0,0,0,0,0,0,0,0,0,0,(byte)0xfb});
+ put(mcastv6packet, IPV6_DEST_ADDR_OFFSET, multicastIpv6Addr);
// Construct IPv4 broadcast packet.
- ByteBuffer bcastv4packet = ByteBuffer.wrap(new byte[100]);
- bcastv4packet.put(ETH_BROADCAST_MAC_ADDRESS);
- bcastv4packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IP);
- bcastv4packet.position(IPV4_DEST_ADDR_OFFSET);
- bcastv4packet.put(new byte[]{(byte)192,(byte)0,(byte)2,(byte)63});
+ ByteBuffer bcastv4packet1 = ByteBuffer.wrap(new byte[100]);
+ bcastv4packet1.put(ETH_BROADCAST_MAC_ADDRESS);
+ bcastv4packet1.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IP);
+ put(bcastv4packet1, IPV4_DEST_ADDR_OFFSET, multicastIpv4Addr);
+
+ ByteBuffer bcastv4packet2 = ByteBuffer.wrap(new byte[100]);
+ bcastv4packet2.put(ETH_BROADCAST_MAC_ADDRESS);
+ bcastv4packet2.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IP);
+ put(bcastv4packet2, IPV4_DEST_ADDR_OFFSET, IPV4_BROADCAST_ADDRESS);
+
+ // Construct IPv4 broadcast with L2 unicast address packet (b/30231088).
+ ByteBuffer bcastv4unicastl2packet = ByteBuffer.wrap(new byte[100]);
+ bcastv4unicastl2packet.put(TestApfFilter.MOCK_MAC_ADDR);
+ bcastv4unicastl2packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_IP);
+ put(bcastv4unicastl2packet, IPV4_DEST_ADDR_OFFSET, broadcastIpv4Addr);
// Verify initially disabled multicast filter is off
- assertPass(program, bcastv4packet.array(), 0);
- assertPass(program, mcastv4packet.array(), 0);
- assertPass(program, mcastv6packet.array(), 0);
+ assertPass(program, mcastv4packet.array());
+ assertPass(program, mcastv6packet.array());
+ assertPass(program, bcastv4packet1.array());
+ assertPass(program, bcastv4packet2.array());
+ assertPass(program, bcastv4unicastl2packet.array());
// Turn on multicast filter and verify it works
ipManagerCallback.resetApfProgramWait();
apfFilter.setMulticastFilter(true);
program = ipManagerCallback.getApfProgram();
- assertDrop(program, bcastv4packet.array(), 0);
- assertDrop(program, mcastv4packet.array(), 0);
- assertDrop(program, mcastv6packet.array(), 0);
+ assertDrop(program, mcastv4packet.array());
+ assertDrop(program, mcastv6packet.array());
+ assertDrop(program, bcastv4packet1.array());
+ assertDrop(program, bcastv4packet2.array());
+ assertDrop(program, bcastv4unicastl2packet.array());
// Turn off multicast filter and verify it's off
ipManagerCallback.resetApfProgramWait();
apfFilter.setMulticastFilter(false);
program = ipManagerCallback.getApfProgram();
- assertPass(program, bcastv4packet.array(), 0);
- assertPass(program, mcastv4packet.array(), 0);
- assertPass(program, mcastv6packet.array(), 0);
+ assertPass(program, mcastv4packet.array());
+ assertPass(program, mcastv6packet.array());
+ assertPass(program, bcastv4packet1.array());
+ assertPass(program, bcastv4packet2.array());
+ assertPass(program, bcastv4unicastl2packet.array());
// Verify it can be initialized to on
ipManagerCallback.resetApfProgramWait();
apfFilter.shutdown();
apfFilter = new TestApfFilter(ipManagerCallback, DROP_MULTICAST, mLog);
+ apfFilter.setLinkProperties(lp);
program = ipManagerCallback.getApfProgram();
- assertDrop(program, bcastv4packet.array(), 0);
- assertDrop(program, mcastv4packet.array(), 0);
- assertDrop(program, mcastv6packet.array(), 0);
+ assertDrop(program, mcastv4packet.array());
+ assertDrop(program, mcastv6packet.array());
+ assertDrop(program, bcastv4packet1.array());
+ assertDrop(program, bcastv4unicastl2packet.array());
// Verify that ICMPv6 multicast is not dropped.
mcastv6packet.put(IPV6_NEXT_HEADER_OFFSET, (byte)IPPROTO_ICMPV6);
- assertPass(program, mcastv6packet.array(), 0);
+ assertPass(program, mcastv6packet.array());
apfFilter.shutdown();
}
@@ -819,17 +897,17 @@
private void verifyArpFilter(byte[] program, int filterResult) {
// Verify ARP request packet
- assertPass(program, arpRequestBroadcast(MOCK_IPV4_ADDR), 0);
- assertVerdict(filterResult, program, arpRequestBroadcast(ANOTHER_IPV4_ADDR), 0);
- assertDrop(program, arpRequestBroadcast(IPV4_ANY_HOST_ADDR), 0);
+ assertPass(program, arpRequestBroadcast(MOCK_IPV4_ADDR));
+ assertVerdict(filterResult, program, arpRequestBroadcast(ANOTHER_IPV4_ADDR));
+ assertDrop(program, arpRequestBroadcast(IPV4_ANY_HOST_ADDR));
// Verify unicast ARP reply packet is always accepted.
- assertPass(program, arpReplyUnicast(MOCK_IPV4_ADDR), 0);
- assertPass(program, arpReplyUnicast(ANOTHER_IPV4_ADDR), 0);
- assertPass(program, arpReplyUnicast(IPV4_ANY_HOST_ADDR), 0);
+ assertPass(program, arpReplyUnicast(MOCK_IPV4_ADDR));
+ assertPass(program, arpReplyUnicast(ANOTHER_IPV4_ADDR));
+ assertPass(program, arpReplyUnicast(IPV4_ANY_HOST_ADDR));
// Verify GARP reply packets are always filtered
- assertDrop(program, garpReply(), 0);
+ assertDrop(program, garpReply());
}
@LargeTest
@@ -855,34 +933,26 @@
private static byte[] arpRequestBroadcast(byte[] tip) {
ByteBuffer packet = ByteBuffer.wrap(new byte[100]);
packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_ARP);
- packet.position(ETH_DEST_ADDR_OFFSET);
- packet.put(ETH_BROADCAST_MAC_ADDRESS);
- packet.position(ARP_HEADER_OFFSET);
- packet.put(ARP_IPV4_REQUEST_HEADER);
- packet.position(ARP_TARGET_IP_ADDRESS_OFFSET);
- packet.put(tip);
+ put(packet, ETH_DEST_ADDR_OFFSET, ETH_BROADCAST_MAC_ADDRESS);
+ put(packet, ARP_HEADER_OFFSET, ARP_IPV4_REPLY_HEADER);
+ put(packet, ARP_TARGET_IP_ADDRESS_OFFSET, tip);
return packet.array();
}
private static byte[] arpReplyUnicast(byte[] tip) {
ByteBuffer packet = ByteBuffer.wrap(new byte[100]);
packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_ARP);
- packet.position(ARP_HEADER_OFFSET);
- packet.put(ARP_IPV4_REPLY_HEADER);
- packet.position(ARP_TARGET_IP_ADDRESS_OFFSET);
- packet.put(tip);
+ put(packet, ARP_HEADER_OFFSET, ARP_IPV4_REPLY_HEADER);
+ put(packet, ARP_TARGET_IP_ADDRESS_OFFSET, tip);
return packet.array();
}
private static byte[] garpReply() {
ByteBuffer packet = ByteBuffer.wrap(new byte[100]);
packet.putShort(ETH_ETHERTYPE_OFFSET, (short)ETH_P_ARP);
- packet.position(ETH_DEST_ADDR_OFFSET);
- packet.put(ETH_BROADCAST_MAC_ADDRESS);
- packet.position(ARP_HEADER_OFFSET);
- packet.put(ARP_IPV4_REPLY_HEADER);
- packet.position(ARP_TARGET_IP_ADDRESS_OFFSET);
- packet.put(IPV4_ANY_HOST_ADDR);
+ put(packet, ETH_DEST_ADDR_OFFSET, ETH_BROADCAST_MAC_ADDRESS);
+ put(packet, ARP_HEADER_OFFSET, ARP_IPV4_REPLY_HEADER);
+ put(packet, ARP_TARGET_IP_ADDRESS_OFFSET, IPV4_ANY_HOST_ADDR);
return packet.array();
}
@@ -893,22 +963,22 @@
byte[] program = ipManagerCallback.getApfProgram();
// Verify new program should drop RA for 1/6th its lifetime
- assertDrop(program, packet.array(), 0);
+ assertDrop(program, packet.array());
assertDrop(program, packet.array(), lifetime/6);
assertPass(program, packet.array(), lifetime/6 + 1);
assertPass(program, packet.array(), lifetime);
// Verify RA checksum is ignored
packet.putShort(ICMP6_RA_CHECKSUM_OFFSET, (short)12345);
- assertDrop(program, packet.array(), 0);
+ assertDrop(program, packet.array());
packet.putShort(ICMP6_RA_CHECKSUM_OFFSET, (short)-12345);
- assertDrop(program, packet.array(), 0);
+ assertDrop(program, packet.array());
// Verify other changes to RA make it not match filter
packet.put(0, (byte)-1);
- assertPass(program, packet.array(), 0);
+ assertPass(program, packet.array());
packet.put(0, (byte)0);
- assertDrop(program, packet.array(), 0);
+ assertDrop(program, packet.array());
}
// Test that when ApfFilter is shown the given packet, it generates a program to filter it
@@ -973,7 +1043,7 @@
basePacket.putShort(ICMP6_RA_ROUTER_LIFETIME_OFFSET, (short)1000);
basePacket.position(IPV6_DEST_ADDR_OFFSET);
basePacket.put(IPV6_ALL_NODES_ADDRESS);
- assertPass(program, basePacket.array(), 0);
+ assertPass(program, basePacket.array());
testRaLifetime(apfFilter, ipManagerCallback, basePacket, 1000);
verifyRaEvent(new RaEvent(1000, -1, -1, -1, -1, -1));
@@ -1069,6 +1139,13 @@
return file.getAbsolutePath();
}
+ private static void put(ByteBuffer buffer, int position, byte[] bytes) {
+ final int original = buffer.position();
+ buffer.position(position);
+ buffer.put(bytes);
+ buffer.position(original);
+ }
+
/**
* Call the APF interpreter the run {@code program} on {@code packet} pretending the
* filter was installed {@code filter_age} seconds ago.
@@ -1089,4 +1166,30 @@
*/
private native static boolean compareBpfApf(String filter, String pcap_filename,
byte[] apf_program);
+
+ public void testBytesToInt() {
+ assertEquals(0x00000000, ApfFilter.bytesToInt(IPV4_ANY_HOST_ADDR));
+ assertEquals(0xffffffff, ApfFilter.bytesToInt(IPV4_BROADCAST_ADDRESS));
+ assertEquals(0x0a000001, ApfFilter.bytesToInt(MOCK_IPV4_ADDR));
+ assertEquals(0x0a000002, ApfFilter.bytesToInt(ANOTHER_IPV4_ADDR));
+ assertEquals(0x0a001fff, ApfFilter.bytesToInt(MOCK_BROADCAST_IPV4_ADDR));
+ assertEquals(0xe0000001, ApfFilter.bytesToInt(MOCK_MULTICAST_IPV4_ADDR));
+ }
+
+ public void testBroadcastAddress() throws Exception {
+ assertEqualsIp("255.255.255.255", ApfFilter.ipv4BroadcastAddress(IPV4_ANY_HOST_ADDR, 0));
+ assertEqualsIp("0.0.0.0", ApfFilter.ipv4BroadcastAddress(IPV4_ANY_HOST_ADDR, 32));
+ assertEqualsIp("0.0.3.255", ApfFilter.ipv4BroadcastAddress(IPV4_ANY_HOST_ADDR, 22));
+ assertEqualsIp("0.255.255.255", ApfFilter.ipv4BroadcastAddress(IPV4_ANY_HOST_ADDR, 8));
+
+ assertEqualsIp("255.255.255.255", ApfFilter.ipv4BroadcastAddress(MOCK_IPV4_ADDR, 0));
+ assertEqualsIp("10.0.0.1", ApfFilter.ipv4BroadcastAddress(MOCK_IPV4_ADDR, 32));
+ assertEqualsIp("10.0.0.255", ApfFilter.ipv4BroadcastAddress(MOCK_IPV4_ADDR, 24));
+ assertEqualsIp("10.0.255.255", ApfFilter.ipv4BroadcastAddress(MOCK_IPV4_ADDR, 16));
+ }
+
+ public void assertEqualsIp(String expected, int got) throws Exception {
+ int want = ApfFilter.bytesToInt(InetAddress.getByName(expected).getAddress());
+ assertEquals(want, got);
+ }
}
diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java
index 2eb37df..c006185 100644
--- a/telecomm/java/android/telecom/Connection.java
+++ b/telecomm/java/android/telecom/Connection.java
@@ -733,7 +733,6 @@
* {@link android.telecom.InCallService.VideoCall}.
*/
public static abstract class VideoProvider {
-
/**
* Video is not being received (no protocol pause was issued).
* @see #handleCallSessionEvent(int)
@@ -818,6 +817,14 @@
private static final int MSG_SET_PAUSE_IMAGE = 11;
private static final int MSG_REMOVE_VIDEO_CALLBACK = 12;
+ private static final String SESSION_EVENT_RX_PAUSE_STR = "RX_PAUSE";
+ private static final String SESSION_EVENT_RX_RESUME_STR = "RX_RESUME";
+ private static final String SESSION_EVENT_TX_START_STR = "TX_START";
+ private static final String SESSION_EVENT_TX_STOP_STR = "TX_STOP";
+ private static final String SESSION_EVENT_CAMERA_FAILURE_STR = "CAMERA_FAIL";
+ private static final String SESSION_EVENT_CAMERA_READY_STR = "CAMERA_READY";
+ private static final String SESSION_EVENT_UNKNOWN_STR = "UNKNOWN";
+
private VideoProvider.VideoProviderHandler mMessageHandler;
private final VideoProvider.VideoProviderBinder mBinder;
@@ -1328,6 +1335,32 @@
}
}
}
+
+ /**
+ * Returns a string representation of a call session event.
+ *
+ * @param event A call session event passed to {@link #handleCallSessionEvent(int)}.
+ * @return String representation of the call session event.
+ * @hide
+ */
+ public static String sessionEventToString(int event) {
+ switch (event) {
+ case SESSION_EVENT_CAMERA_FAILURE:
+ return SESSION_EVENT_CAMERA_FAILURE_STR;
+ case SESSION_EVENT_CAMERA_READY:
+ return SESSION_EVENT_CAMERA_READY_STR;
+ case SESSION_EVENT_RX_PAUSE:
+ return SESSION_EVENT_RX_PAUSE_STR;
+ case SESSION_EVENT_RX_RESUME:
+ return SESSION_EVENT_RX_RESUME_STR;
+ case SESSION_EVENT_TX_START:
+ return SESSION_EVENT_TX_START_STR;
+ case SESSION_EVENT_TX_STOP:
+ return SESSION_EVENT_TX_STOP_STR;
+ default:
+ return SESSION_EVENT_UNKNOWN_STR + " " + event;
+ }
+ }
}
private final Listener mConnectionDeathListener = new Listener() {
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index d6a2ee3..5081c25 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -433,18 +433,11 @@
"disable_severe_when_extreme_disabled_bool";
/**
- * The data call APN retry configuration for default type APN.
+ * The data call retry configuration for different types of APN.
* @hide
*/
- public static final String KEY_CARRIER_DATA_CALL_RETRY_CONFIG_DEFAULT_STRING =
- "carrier_data_call_retry_config_default_string";
-
- /**
- * The data call APN retry configuration for other type APNs.
- * @hide
- */
- public static final String KEY_CARRIER_DATA_CALL_RETRY_CONFIG_OTHERS_STRING =
- "carrier_data_call_retry_config_others_string";
+ public static final String KEY_CARRIER_DATA_CALL_RETRY_CONFIG_STRINGS =
+ "carrier_data_call_retry_config_strings";
/**
* Delay between trying APN from the pool
@@ -1022,11 +1015,12 @@
sDefaults.putBoolean(KEY_BROADCAST_EMERGENCY_CALL_STATE_CHANGES_BOOL, false);
sDefaults.putBoolean(KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL, false);
sDefaults.putBoolean(KEY_DISABLE_SEVERE_WHEN_EXTREME_DISABLED_BOOL, true);
- sDefaults.putString(KEY_CARRIER_DATA_CALL_RETRY_CONFIG_DEFAULT_STRING,
- "default_randomization=2000,5000,10000,20000,40000,80000:5000,160000:5000,"
- + "320000:5000,640000:5000,1280000:5000,1800000:5000");
- sDefaults.putString(KEY_CARRIER_DATA_CALL_RETRY_CONFIG_OTHERS_STRING,
- "max_retries=3, 5000, 5000, 5000");
+ sDefaults.putStringArray(KEY_CARRIER_DATA_CALL_RETRY_CONFIG_STRINGS, new String[]{
+ "default:default_randomization=2000,5000,10000,20000,40000,80000:5000,160000:5000,"
+ + "320000:5000,640000:5000,1280000:5000,1800000:5000",
+ "mms:default_randomization=2000,5000,10000,20000,40000,80000:5000,160000:5000,"
+ + "320000:5000,640000:5000,1280000:5000,1800000:5000",
+ "others:max_retries=3, 5000, 5000, 5000"});
sDefaults.putLong(KEY_CARRIER_DATA_CALL_APN_DELAY_DEFAULT_LONG, 20000);
sDefaults.putLong(KEY_CARRIER_DATA_CALL_APN_DELAY_FASTER_LONG, 3000);
sDefaults.putString(KEY_CARRIER_ERI_FILE_NAME_STRING, "eri.xml");
diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java
index 03d6d21..7350eec 100644
--- a/telephony/java/android/telephony/PhoneNumberUtils.java
+++ b/telephony/java/android/telephony/PhoneNumberUtils.java
@@ -24,6 +24,7 @@
import android.content.Context;
import android.content.Intent;
+import android.content.res.Resources;
import android.database.Cursor;
import android.location.CountryDetector;
import android.net.Uri;
@@ -3021,4 +3022,79 @@
return SubscriptionManager.getDefaultVoiceSubscriptionId();
}
//==== End of utility methods used only in compareStrictly() =====
+
+
+ /*
+ * The config held calling number conversion map, expected to convert to emergency number.
+ */
+ private static final String[] CONVERT_TO_EMERGENCY_MAP = Resources.getSystem().getStringArray(
+ com.android.internal.R.array.config_convert_to_emergency_number_map);
+ /**
+ * Check whether conversion to emergency number is enabled
+ *
+ * @return {@code true} when conversion to emergency numbers is enabled,
+ * {@code false} otherwise
+ *
+ * @hide
+ */
+ public static boolean isConvertToEmergencyNumberEnabled() {
+ return CONVERT_TO_EMERGENCY_MAP != null && CONVERT_TO_EMERGENCY_MAP.length > 0;
+ }
+
+ /**
+ * Converts to emergency number based on the conversion map.
+ * The conversion map is declared as config_convert_to_emergency_number_map.
+ *
+ * Make sure {@link #isConvertToEmergencyNumberEnabled} is true before calling
+ * this function.
+ *
+ * @return The converted emergency number if the number matches conversion map,
+ * otherwise original number.
+ *
+ * @hide
+ */
+ public static String convertToEmergencyNumber(String number) {
+ if (TextUtils.isEmpty(number)) {
+ return number;
+ }
+
+ String normalizedNumber = normalizeNumber(number);
+
+ // The number is already emergency number. Skip conversion.
+ if (isEmergencyNumber(normalizedNumber)) {
+ return number;
+ }
+
+ for (String convertMap : CONVERT_TO_EMERGENCY_MAP) {
+ if (DBG) log("convertToEmergencyNumber: " + convertMap);
+ String[] entry = null;
+ String[] filterNumbers = null;
+ String convertedNumber = null;
+ if (!TextUtils.isEmpty(convertMap)) {
+ entry = convertMap.split(":");
+ }
+ if (entry != null && entry.length == 2) {
+ convertedNumber = entry[1];
+ if (!TextUtils.isEmpty(entry[0])) {
+ filterNumbers = entry[0].split(",");
+ }
+ }
+ // Skip if the format of entry is invalid
+ if (TextUtils.isEmpty(convertedNumber) || filterNumbers == null
+ || filterNumbers.length == 0) {
+ continue;
+ }
+
+ for (String filterNumber : filterNumbers) {
+ if (DBG) log("convertToEmergencyNumber: filterNumber = " + filterNumber
+ + ", convertedNumber = " + convertedNumber);
+ if (!TextUtils.isEmpty(filterNumber) && filterNumber.equals(normalizedNumber)) {
+ if (DBG) log("convertToEmergencyNumber: Matched. Successfully converted to: "
+ + convertedNumber);
+ return convertedNumber;
+ }
+ }
+ }
+ return number;
+ }
}
diff --git a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
index 58df301..76522f9 100644
--- a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
+++ b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
@@ -96,7 +96,7 @@
}
@Override
- public void clearForcedDisplayDensity(int displayId) throws RemoteException {
+ public void clearForcedDisplayDensityForUser(int displayId, int userId) throws RemoteException {
// TODO Auto-generated method stub
}
@@ -397,7 +397,8 @@
}
@Override
- public void setForcedDisplayDensity(int displayId, int density) throws RemoteException {
+ public void setForcedDisplayDensityForUser(int displayId, int density, int userId)
+ throws RemoteException {
// TODO Auto-generated method stub
}
diff --git a/wifi/java/android/net/wifi/WifiScanner.java b/wifi/java/android/net/wifi/WifiScanner.java
index 716f1d3..3190ead 100644
--- a/wifi/java/android/net/wifi/WifiScanner.java
+++ b/wifi/java/android/net/wifi/WifiScanner.java
@@ -286,6 +286,12 @@
* {@hide}
*/
private int mBucketsScanned;
+ /**
+ * Indicates that the scan results received are as a result of a scan of all available
+ * channels. This should only be expected to function for single scans.
+ * {@hide}
+ */
+ private boolean mAllChannelsScanned;
/** all scan results discovered in this scan, sorted by timestamp in ascending order */
private ScanResult mResults[];
@@ -298,10 +304,12 @@
}
/** {@hide} */
- public ScanData(int id, int flags, int bucketsScanned, ScanResult[] results) {
+ public ScanData(int id, int flags, int bucketsScanned, boolean allChannelsScanned,
+ ScanResult[] results) {
mId = id;
mFlags = flags;
mBucketsScanned = bucketsScanned;
+ mAllChannelsScanned = allChannelsScanned;
mResults = results;
}
@@ -309,6 +317,7 @@
mId = s.mId;
mFlags = s.mFlags;
mBucketsScanned = s.mBucketsScanned;
+ mAllChannelsScanned = s.mAllChannelsScanned;
mResults = new ScanResult[s.mResults.length];
for (int i = 0; i < s.mResults.length; i++) {
ScanResult result = s.mResults[i];
@@ -330,6 +339,11 @@
return mBucketsScanned;
}
+ /** {@hide} */
+ public boolean isAllChannelsScanned() {
+ return mAllChannelsScanned;
+ }
+
public ScanResult[] getResults() {
return mResults;
}
@@ -345,6 +359,7 @@
dest.writeInt(mId);
dest.writeInt(mFlags);
dest.writeInt(mBucketsScanned);
+ dest.writeInt(mAllChannelsScanned ? 1 : 0);
dest.writeInt(mResults.length);
for (int i = 0; i < mResults.length; i++) {
ScanResult result = mResults[i];
@@ -362,12 +377,13 @@
int id = in.readInt();
int flags = in.readInt();
int bucketsScanned = in.readInt();
+ boolean allChannelsScanned = in.readInt() != 0;
int n = in.readInt();
ScanResult results[] = new ScanResult[n];
for (int i = 0; i < n; i++) {
results[i] = ScanResult.CREATOR.createFromParcel(in);
}
- return new ScanData(id, flags, bucketsScanned, results);
+ return new ScanData(id, flags, bucketsScanned, allChannelsScanned, results);
}
public ScanData[] newArray(int size) {