diff options
84 files changed, 286 insertions, 1235 deletions
diff --git a/cmds/installd/commands.c b/cmds/installd/commands.c index 8e4d7ed6aa76..387f33d1097f 100644 --- a/cmds/installd/commands.c +++ b/cmds/installd/commands.c @@ -185,8 +185,8 @@ int delete_user_data(const char *pkgname, uid_t persona) if (create_pkg_path(pkgdir, pkgname, PKG_DIR_POSTFIX, persona)) return -1; - /* delete contents AND directory, no exceptions */ - return delete_dir_contents(pkgdir, 1, NULL); + /* delete contents, excluding "lib", but not the directory itself */ + return delete_dir_contents(pkgdir, 0, "lib"); } int make_user_data(const char *pkgname, uid_t uid, uid_t persona) diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index 3e1e35886d8e..95b6bed3dfb8 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -77,6 +77,7 @@ import android.net.wifi.p2p.WifiP2pManager; import android.nfc.NfcManager; import android.os.Binder; import android.os.Bundle; +import android.os.Debug; import android.os.DropBoxManager; import android.os.Environment; import android.os.FileUtils; @@ -97,6 +98,7 @@ import android.telephony.TelephonyManager; import android.content.ClipboardManager; import android.util.AndroidRuntimeException; import android.util.Log; +import android.util.Slog; import android.view.CompatibilityInfoHolder; import android.view.ContextThemeWrapper; import android.view.Display; @@ -925,6 +927,7 @@ class ContextImpl extends Context { @Override public void startActivity(Intent intent) { + warnIfCallingFromSystemProcess(); startActivity(intent, null); } @@ -936,6 +939,7 @@ class ContextImpl extends Context { @Override public void startActivity(Intent intent, Bundle options) { + warnIfCallingFromSystemProcess(); if ((intent.getFlags()&Intent.FLAG_ACTIVITY_NEW_TASK) == 0) { throw new AndroidRuntimeException( "Calling startActivity() from outside of an Activity " @@ -962,6 +966,7 @@ class ContextImpl extends Context { @Override public void startActivities(Intent[] intents) { + warnIfCallingFromSystemProcess(); startActivities(intents, null); } @@ -981,6 +986,7 @@ class ContextImpl extends Context { @Override public void startActivities(Intent[] intents, Bundle options) { + warnIfCallingFromSystemProcess(); if ((intents[0].getFlags()&Intent.FLAG_ACTIVITY_NEW_TASK) == 0) { throw new AndroidRuntimeException( "Calling startActivities() from outside of an Activity " @@ -1023,6 +1029,7 @@ class ContextImpl extends Context { @Override public void sendBroadcast(Intent intent) { + warnIfCallingFromSystemProcess(); String resolvedType = intent.resolveTypeIfNeeded(getContentResolver()); try { intent.setAllowFds(false); @@ -1036,6 +1043,7 @@ class ContextImpl extends Context { @Override public void sendBroadcast(Intent intent, String receiverPermission) { + warnIfCallingFromSystemProcess(); String resolvedType = intent.resolveTypeIfNeeded(getContentResolver()); try { intent.setAllowFds(false); @@ -1050,6 +1058,7 @@ class ContextImpl extends Context { @Override public void sendOrderedBroadcast(Intent intent, String receiverPermission) { + warnIfCallingFromSystemProcess(); String resolvedType = intent.resolveTypeIfNeeded(getContentResolver()); try { intent.setAllowFds(false); @@ -1066,6 +1075,7 @@ class ContextImpl extends Context { String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras) { + warnIfCallingFromSystemProcess(); IIntentReceiver rd = null; if (resultReceiver != null) { if (mPackageInfo != null) { @@ -1154,6 +1164,7 @@ class ContextImpl extends Context { @Override public void sendStickyBroadcast(Intent intent) { + warnIfCallingFromSystemProcess(); String resolvedType = intent.resolveTypeIfNeeded(getContentResolver()); try { intent.setAllowFds(false); @@ -1170,6 +1181,7 @@ class ContextImpl extends Context { BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras) { + warnIfCallingFromSystemProcess(); IIntentReceiver rd = null; if (resultReceiver != null) { if (mPackageInfo != null) { @@ -1337,11 +1349,13 @@ class ContextImpl extends Context { @Override public ComponentName startService(Intent service) { + warnIfCallingFromSystemProcess(); return startServiceAsUser(service, mUser); } @Override public boolean stopService(Intent service) { + warnIfCallingFromSystemProcess(); return stopServiceAsUser(service, mUser); } @@ -1389,6 +1403,7 @@ class ContextImpl extends Context { @Override public boolean bindService(Intent service, ServiceConnection conn, int flags) { + warnIfCallingFromSystemProcess(); return bindService(service, conn, flags, UserHandle.getUserId(Process.myUid())); } @@ -1697,6 +1712,13 @@ class ContextImpl extends Context { message); } + private void warnIfCallingFromSystemProcess() { + if (Process.myUid() == Process.SYSTEM_UID) { + Slog.w(TAG, "Calling a method in the system process without a qualified user: " + + Debug.getCallers(3)); + } + } + @Override public Context createPackageContext(String packageName, int flags) throws NameNotFoundException { diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 201b43f43728..7aa2507975dc 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -33,6 +33,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.UserHandle; +import android.os.UserManager; import android.util.AttributeSet; import android.view.CompatibilityInfoHolder; import android.view.Display; @@ -587,6 +588,10 @@ public abstract class Context { * can read and write files placed here. * </ul> * + * <p>On devices with multiple users (as described by {@link UserManager}), + * each user has their own isolated external storage. Applications only + * have access to the external storage for the user they're running as.</p> + * * <p>Here is an example of typical code to manipulate a file in * an application's private storage:</p> * @@ -616,6 +621,9 @@ public abstract class Context { * {@sample development/samples/ApiDemos/src/com/example/android/apis/content/ExternalStorage.java * private_picture} * + * <p>Writing to this path requires the + * {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} permission.</p> + * * @param type The type of files directory to return. May be null for * the root of the files directory or one of * the following Environment constants for a subdirectory: @@ -641,6 +649,11 @@ public abstract class Context { * Return the directory where this application's OBB files (if there * are any) can be found. Note if the application does not have any OBB * files, this directory may not exist. + * + * <p>On devices with multiple users (as described by {@link UserManager}), + * multiple users may share the same OBB storage location. Applications + * should ensure that multiple instances running under different users + * don't interfere with each other.</p> */ public abstract File getObbDir(); @@ -689,6 +702,13 @@ public abstract class Context { * can read and write files placed here. * </ul> * + * <p>On devices with multiple users (as described by {@link UserManager}), + * each user has their own isolated external storage. Applications only + * have access to the external storage for the user they're running as.</p> + * + * <p>Writing to this path requires the + * {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} permission.</p> + * * @return Returns the path of the directory holding application cache files * on external storage. Returns null if external storage is not currently * mounted so it could not ensure the path exists; you will need to call diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java index 05bab9c2d691..977b46161164 100644 --- a/core/java/android/content/SyncManager.java +++ b/core/java/android/content/SyncManager.java @@ -2530,7 +2530,7 @@ public class SyncManager { syncStateIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); syncStateIntent.putExtra("active", mNeedSyncActiveNotification); syncStateIntent.putExtra("failing", false); - mContext.sendBroadcast(syncStateIntent); + mContext.sendBroadcastAsUser(syncStateIntent, UserHandle.OWNER); } private void installHandleTooManyDeletesNotification(Account account, String authority, diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java index 33155665fb59..88529f8924e9 100644 --- a/core/java/android/os/Environment.java +++ b/core/java/android/os/Environment.java @@ -274,6 +274,10 @@ public class Environment { * built-in storage in a device that is distinct from the protected * internal storage and can be mounted as a filesystem on a computer.</em></p> * + * <p>On devices with multiple users (as described by {@link UserManager}), + * each user has their own isolated external storage. Applications only + * have access to the external storage for the user they're running as.</p> + * * <p>In devices with multiple "external" storage directories (such as * both secure app storage and mountable shared storage), this directory * represents the "primary" external storage that the user will interact @@ -286,7 +290,16 @@ public class Environment { * Context.getExternalFilesDir}, which the system will take care of deleting * if the application is uninstalled. Other shared files should be placed * in one of the directories returned by - * {@link #getExternalStoragePublicDirectory}. + * {@link #getExternalStoragePublicDirectory}.</p> + * + * <p>Writing to this path requires the + * {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} permission. In + * a future platform release, access to this path will require the + * {@link android.Manifest.permission#READ_EXTERNAL_STORAGE} permission, + * which is automatically granted if you hold the write permission.</p> + * + * <p>This path may change between platform versions, so applications + * should only persist relative paths.</p> * * <p>Here is an example of typical code to monitor the state of * external storage:</p> @@ -423,6 +436,10 @@ public class Environment { * to ensure you don't erase their files or get in the way of their own * organization. * + * <p>On devices with multiple users (as described by {@link UserManager}), + * each user has their own isolated external storage. Applications only + * have access to the external storage for the user they're running as.</p> + * * <p>Here is an example of typical code to manipulate a picture on * the public external storage:</p> * @@ -500,7 +517,7 @@ public class Environment { } /** - * Gets the Android Download/Cache content directory. + * Gets the Android download/cache content directory. */ public static File getDownloadCacheDirectory() { return DOWNLOAD_CACHE_DIRECTORY; @@ -563,7 +580,7 @@ public class Environment { /** * Gets the current state of the primary "external" storage device. * - * <p>See {@link #getExternalStorageDirectory()} for more information. + * @see #getExternalStorageDirectory() */ public static String getExternalStorageState() { try { diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java index 0d2835a98dbe..1fecf81d5a4f 100644 --- a/core/java/android/text/TextLine.java +++ b/core/java/android/text/TextLine.java @@ -939,27 +939,22 @@ class TextLine { continue; } - if (c == null) { - x += handleText(wp, i, mlimit, i, inext, runIsRtl, c, x, top, - y, bottom, fmi, needWidth || mlimit < measureLimit); - } else { - for (int j = i, jnext; j < mlimit; j = jnext) { - jnext = mCharacterStyleSpanSet.getNextTransition(mStart + j, mStart + mlimit) - - mStart; - - wp.set(mPaint); - for (int k = 0; k < mCharacterStyleSpanSet.numberOfSpans; k++) { - // Intentionally using >= and <= as explained above - if ((mCharacterStyleSpanSet.spanStarts[k] >= mStart + jnext) || - (mCharacterStyleSpanSet.spanEnds[k] <= mStart + j)) continue; - - CharacterStyle span = mCharacterStyleSpanSet.spans[k]; - span.updateDrawState(wp); - } + for (int j = i, jnext; j < mlimit; j = jnext) { + jnext = mCharacterStyleSpanSet.getNextTransition(mStart + j, mStart + mlimit) - + mStart; + + wp.set(mPaint); + for (int k = 0; k < mCharacterStyleSpanSet.numberOfSpans; k++) { + // Intentionally using >= and <= as explained above + if ((mCharacterStyleSpanSet.spanStarts[k] >= mStart + jnext) || + (mCharacterStyleSpanSet.spanEnds[k] <= mStart + j)) continue; - x += handleText(wp, j, jnext, i, inext, runIsRtl, c, x, - top, y, bottom, fmi, needWidth || jnext < measureLimit); + CharacterStyle span = mCharacterStyleSpanSet.spans[k]; + span.updateDrawState(wp); } + + x += handleText(wp, j, jnext, i, inext, runIsRtl, c, x, + top, y, bottom, fmi, needWidth || jnext < measureLimit); } } diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java index 7ef69394f56f..183b012d8ca1 100644 --- a/core/java/android/view/Surface.java +++ b/core/java/android/view/Surface.java @@ -258,7 +258,7 @@ public class Surface implements Parcelable { private native void nativeSetLayerStack(int layerStack); private static native IBinder nativeGetBuiltInDisplay(int physicalDisplayId); - private static native IBinder nativeCreateDisplay(String name); + private static native IBinder nativeCreateDisplay(String name, boolean secure); private static native void nativeSetDisplaySurface( IBinder displayToken, Surface surface); private static native void nativeSetDisplayLayerStack( @@ -597,11 +597,11 @@ public class Surface implements Parcelable { } /** @hide */ - public static IBinder createDisplay(String name) { + public static IBinder createDisplay(String name, boolean secure) { if (name == null) { throw new IllegalArgumentException("name must not be null"); } - return nativeCreateDisplay(name); + return nativeCreateDisplay(name, secure); } /** @hide */ diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 6360242bb3d7..f5e259ec322e 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -8243,6 +8243,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, case MotionEvent.ACTION_CANCEL: setPressed(false); removeTapCallback(); + removeLongPressCallback(); break; case MotionEvent.ACTION_MOVE: diff --git a/core/java/android/webkit/AccessibilityInjector.java b/core/java/android/webkit/AccessibilityInjector.java index fe5cad44bfe8..95a0416e1a1e 100644 --- a/core/java/android/webkit/AccessibilityInjector.java +++ b/core/java/android/webkit/AccessibilityInjector.java @@ -514,6 +514,8 @@ class AccessibilityInjector { } } catch (URISyntaxException e) { // Do nothing. + } catch (IllegalArgumentException e) { + // Catch badly-formed URLs. } return ACCESSIBILITY_SCRIPT_INJECTION_UNDEFINED; diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp index f485e0357638..63683b4f4954 100644 --- a/core/jni/android/graphics/Bitmap.cpp +++ b/core/jni/android/graphics/Bitmap.cpp @@ -261,14 +261,14 @@ static void Bitmap_destructor(JNIEnv* env, jobject, SkBitmap* bitmap) { delete bitmap;
}
-static void Bitmap_recycle(JNIEnv* env, jobject, SkBitmap* bitmap) {
+static jboolean Bitmap_recycle(JNIEnv* env, jobject, SkBitmap* bitmap) {
#ifdef USE_OPENGL_RENDERER
if (android::uirenderer::Caches::hasInstance()) {
- android::uirenderer::Caches::getInstance().resourceCache.recycle(bitmap);
- return;
+ return android::uirenderer::Caches::getInstance().resourceCache.recycle(bitmap);
}
#endif // USE_OPENGL_RENDERER
bitmap->setPixels(NULL, NULL);
+ return true;
}
// These must match the int values in Bitmap.java
@@ -665,7 +665,7 @@ static JNINativeMethod gBitmapMethods[] = { { "nativeCopy", "(IIZ)Landroid/graphics/Bitmap;",
(void*)Bitmap_copy },
{ "nativeDestructor", "(I)V", (void*)Bitmap_destructor },
- { "nativeRecycle", "(I)V", (void*)Bitmap_recycle },
+ { "nativeRecycle", "(I)Z", (void*)Bitmap_recycle },
{ "nativeCompress", "(IIILjava/io/OutputStream;[B)Z",
(void*)Bitmap_compress },
{ "nativeErase", "(II)V", (void*)Bitmap_erase },
diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp index 531445f076b3..8a2c88c64501 100644 --- a/core/jni/android_view_Surface.cpp +++ b/core/jni/android_view_Surface.cpp @@ -653,9 +653,11 @@ static jobject nativeGetBuiltInDisplay(JNIEnv* env, jclass clazz, jint id) { return javaObjectForIBinder(env, token); } -static jobject nativeCreateDisplay(JNIEnv* env, jclass clazz, jstring nameObj) { +static jobject nativeCreateDisplay(JNIEnv* env, jclass clazz, jstring nameObj, + jboolean secure) { ScopedUtfChars name(env, nameObj); - sp<IBinder> token(SurfaceComposerClient::createDisplay(String8(name.c_str()))); + sp<IBinder> token(SurfaceComposerClient::createDisplay( + String8(name.c_str()), bool(secure))); return javaObjectForIBinder(env, token); } @@ -845,7 +847,7 @@ static JNINativeMethod gSurfaceMethods[] = { (void*)nativeSetLayerStack }, {"nativeGetBuiltInDisplay", "(I)Landroid/os/IBinder;", (void*)nativeGetBuiltInDisplay }, - {"nativeCreateDisplay", "(Ljava/lang/String;)Landroid/os/IBinder;", + {"nativeCreateDisplay", "(Ljava/lang/String;Z)Landroid/os/IBinder;", (void*)nativeCreateDisplay }, {"nativeSetDisplaySurface", "(Landroid/os/IBinder;Landroid/view/Surface;)V", (void*)nativeSetDisplaySurface }, diff --git a/data/sounds/effects/ogg/VideoRecord.ogg b/data/sounds/effects/ogg/VideoRecord.ogg Binary files differindex ca66604830ca..0d7bf12aeed1 100644 --- a/data/sounds/effects/ogg/VideoRecord.ogg +++ b/data/sounds/effects/ogg/VideoRecord.ogg diff --git a/data/sounds/effects/ogg/VideoRecord_48k.ogg b/data/sounds/effects/ogg/VideoRecord_48k.ogg Binary files differindex fd9c760063bc..3eefaed4ce38 100644 --- a/data/sounds/effects/ogg/VideoRecord_48k.ogg +++ b/data/sounds/effects/ogg/VideoRecord_48k.ogg diff --git a/data/sounds/effects/ogg/VideoStop.ogg b/data/sounds/effects/ogg/VideoStop.ogg Binary files differindex 2516710917f6..a20d52424d47 100644 --- a/data/sounds/effects/ogg/VideoStop.ogg +++ b/data/sounds/effects/ogg/VideoStop.ogg diff --git a/data/sounds/effects/ogg/VideoStop_48k.ogg b/data/sounds/effects/ogg/VideoStop_48k.ogg Binary files differindex 7c40021a9b10..7fd9f4776091 100644 --- a/data/sounds/effects/ogg/VideoStop_48k.ogg +++ b/data/sounds/effects/ogg/VideoStop_48k.ogg diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java index 22ecc6135172..688fd7aa5355 100644 --- a/graphics/java/android/graphics/Bitmap.java +++ b/graphics/java/android/graphics/Bitmap.java @@ -201,9 +201,14 @@ public final class Bitmap implements Parcelable { */ public void recycle() { if (!mRecycled) { - mBuffer = null; - nativeRecycle(mNativeBitmap); - mNinePatchChunk = null; + if (nativeRecycle(mNativeBitmap)) { + // return value indicates whether native pixel object was actually recycled. + // false indicates that it is still in use at the native level and these + // objects should not be collected now. They will be collected later when the + // Bitmap itself is collected. + mBuffer = null; + mNinePatchChunk = null; + } mRecycled = true; } } @@ -1391,7 +1396,7 @@ public final class Bitmap implements Parcelable { private static native Bitmap nativeCopy(int srcBitmap, int nativeConfig, boolean isMutable); private static native void nativeDestructor(int nativeBitmap); - private static native void nativeRecycle(int nativeBitmap); + private static native boolean nativeRecycle(int nativeBitmap); private static native boolean nativeCompress(int nativeBitmap, int format, int quality, OutputStream stream, diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp index 81f7b94b31ee..347bd78ca93b 100644 --- a/libs/hwui/ResourceCache.cpp +++ b/libs/hwui/ResourceCache.cpp @@ -265,27 +265,38 @@ void ResourceCache::destructorLocked(SkiaColorFilter* resource) { } } -void ResourceCache::recycle(SkBitmap* resource) { +/** + * Return value indicates whether resource was actually recycled, which happens when RefCnt + * reaches 0. + */ +bool ResourceCache::recycle(SkBitmap* resource) { Mutex::Autolock _l(mLock); - recycleLocked(resource); + return recycleLocked(resource); } -void ResourceCache::recycleLocked(SkBitmap* resource) { +/** + * Return value indicates whether resource was actually recycled, which happens when RefCnt + * reaches 0. + */ +bool ResourceCache::recycleLocked(SkBitmap* resource) { ssize_t index = mCache->indexOfKey(resource); if (index < 0) { // not tracking this resource; just recycle the pixel data resource->setPixels(NULL, NULL); - return; + return true; } ResourceReference* ref = mCache->valueAt(index); if (ref == NULL) { // Should not get here - shouldn't get a call to recycle if we're not yet tracking it - return; + return true; } ref->recycled = true; if (ref->refCount == 0) { deleteResourceReferenceLocked(resource, ref); + return true; } + // Still referring to resource, don't recycle yet + return false; } /** diff --git a/libs/hwui/ResourceCache.h b/libs/hwui/ResourceCache.h index a80670ce36ed..ab493e54e0b3 100644 --- a/libs/hwui/ResourceCache.h +++ b/libs/hwui/ResourceCache.h @@ -99,8 +99,8 @@ public: void destructorLocked(SkiaShader* resource); void destructorLocked(SkiaColorFilter* resource); - void recycle(SkBitmap* resource); - void recycleLocked(SkBitmap* resource); + bool recycle(SkBitmap* resource); + bool recycleLocked(SkBitmap* resource); private: void deleteResourceReferenceLocked(void* resource, ResourceReference* ref); diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java index 4ad8fd0d08a6..59a562487f72 100644 --- a/location/java/android/location/LocationManager.java +++ b/location/java/android/location/LocationManager.java @@ -72,15 +72,10 @@ import com.android.internal.location.ProviderProperties; * <p class="note">Unless noted, all Location API methods require * the {@link android.Manifest.permission#ACCESS_COARSE_LOCATION} or * {@link android.Manifest.permission#ACCESS_FINE_LOCATION} permissions. - * If your application only has the Coarse permission then it will still - * receive location results, but the update rate will be throttled and - * the exact location will be obfuscated to a coarse level of accuracy. - * - * <p> class="note">Before API level 17, the use of 'fine' location - * providers such as GPS required the fine permission. As of API level - * 17, applications with only the coarse permission may use all providers, - * including GPS, but the locations are obfuscated (made coarse) before - * being sent to the application. + * If your application only has the coarse permission then it will not have + * access to the GPS or passive location providers. Other providers will still + * return location results, but the update rate will be throttled and the exact + * location will be obfuscated to a coarse level of accuracy. */ public class LocationManager { private static final String TAG = "LocationManager"; @@ -109,13 +104,8 @@ public class LocationManager { * * <p>This provider determines location using * satellites. Depending on conditions, this provider may take a while to return - * a location fix. - * - * <p>Before API version 17, this provider required the - * {@link android.Manifest.permission#ACCESS_FINE_LOCATION} permission. - * From API version 17 and onwards, this provider can also be used with - * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION}, however - * the locations returned will be obfuscated to a coarse level of accuracy. + * a location fix. Requires the permission + * {@link android.Manifest.permission#ACCESS_FINE_LOCATION}. * * <p> The extras Bundle for the GPS location provider can contain the * following key/value pairs: @@ -136,13 +126,9 @@ public class LocationManager { * when other applications or services request them without actually requesting * the locations yourself. This provider will return locations generated by other * providers. You can query the {@link Location#getProvider()} method to determine - * the origin of the location update. - * - * <p>Before API version 17, this provider required the - * {@link android.Manifest.permission#ACCESS_FINE_LOCATION} permission. - * From API version 17 and onwards, this provider can also be used with - * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION}, however - * the locations returned will be obfuscated to a coarse level of accuracy. + * the origin of the location update. Requires the permission + * {@link android.Manifest.permission#ACCESS_FINE_LOCATION}, although if the GPS is + * not enabled this provider might only return coarse fixes. * * @deprecated Use {@link LocationRequest} instead, see notes on {@link LocationManager} */ diff --git a/packages/SettingsProvider/res/values-af/defaults.xml b/packages/SettingsProvider/res/values-af/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-af/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-am/defaults.xml b/packages/SettingsProvider/res/values-am/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-am/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-ar/defaults.xml b/packages/SettingsProvider/res/values-ar/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-ar/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-be/defaults.xml b/packages/SettingsProvider/res/values-be/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-be/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-bg/defaults.xml b/packages/SettingsProvider/res/values-bg/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-bg/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-ca/defaults.xml b/packages/SettingsProvider/res/values-ca/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-ca/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-cs/defaults.xml b/packages/SettingsProvider/res/values-cs/defaults.xml deleted file mode 100644 index f704333484d5..000000000000 --- a/packages/SettingsProvider/res/values-cs/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Spořič obrazovky"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-da/defaults.xml b/packages/SettingsProvider/res/values-da/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-da/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-de/defaults.xml b/packages/SettingsProvider/res/values-de/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-de/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-el/defaults.xml b/packages/SettingsProvider/res/values-el/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-el/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-en-rGB/defaults.xml b/packages/SettingsProvider/res/values-en-rGB/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-en-rGB/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-es-rUS/defaults.xml b/packages/SettingsProvider/res/values-es-rUS/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-es-rUS/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-es/defaults.xml b/packages/SettingsProvider/res/values-es/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-es/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-et/defaults.xml b/packages/SettingsProvider/res/values-et/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-et/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-fa/defaults.xml b/packages/SettingsProvider/res/values-fa/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-fa/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-fi/defaults.xml b/packages/SettingsProvider/res/values-fi/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-fi/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-fr/defaults.xml b/packages/SettingsProvider/res/values-fr/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-fr/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-hi/defaults.xml b/packages/SettingsProvider/res/values-hi/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-hi/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-hr/defaults.xml b/packages/SettingsProvider/res/values-hr/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-hr/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-hu/defaults.xml b/packages/SettingsProvider/res/values-hu/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-hu/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-in/defaults.xml b/packages/SettingsProvider/res/values-in/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-in/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-it/defaults.xml b/packages/SettingsProvider/res/values-it/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-it/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-iw/defaults.xml b/packages/SettingsProvider/res/values-iw/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-iw/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-ja/defaults.xml b/packages/SettingsProvider/res/values-ja/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-ja/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-ko/defaults.xml b/packages/SettingsProvider/res/values-ko/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-ko/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-lt/defaults.xml b/packages/SettingsProvider/res/values-lt/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-lt/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-lv/defaults.xml b/packages/SettingsProvider/res/values-lv/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-lv/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-ms/defaults.xml b/packages/SettingsProvider/res/values-ms/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-ms/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-nb/defaults.xml b/packages/SettingsProvider/res/values-nb/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-nb/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-nl/defaults.xml b/packages/SettingsProvider/res/values-nl/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-nl/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-pl/defaults.xml b/packages/SettingsProvider/res/values-pl/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-pl/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-pt-rPT/defaults.xml b/packages/SettingsProvider/res/values-pt-rPT/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-pt-rPT/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-pt/defaults.xml b/packages/SettingsProvider/res/values-pt/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-pt/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-ro/defaults.xml b/packages/SettingsProvider/res/values-ro/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-ro/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-ru/defaults.xml b/packages/SettingsProvider/res/values-ru/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-ru/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-sk/defaults.xml b/packages/SettingsProvider/res/values-sk/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-sk/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-sl/defaults.xml b/packages/SettingsProvider/res/values-sl/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-sl/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-sr/defaults.xml b/packages/SettingsProvider/res/values-sr/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-sr/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-sv/defaults.xml b/packages/SettingsProvider/res/values-sv/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-sv/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-sw/defaults.xml b/packages/SettingsProvider/res/values-sw/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-sw/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-th/defaults.xml b/packages/SettingsProvider/res/values-th/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-th/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-tl/defaults.xml b/packages/SettingsProvider/res/values-tl/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-tl/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-tr/defaults.xml b/packages/SettingsProvider/res/values-tr/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-tr/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-uk/defaults.xml b/packages/SettingsProvider/res/values-uk/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-uk/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-vi/defaults.xml b/packages/SettingsProvider/res/values-vi/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-vi/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-zh-rCN/defaults.xml b/packages/SettingsProvider/res/values-zh-rCN/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-zh-rCN/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-zh-rTW/defaults.xml b/packages/SettingsProvider/res/values-zh-rTW/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-zh-rTW/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SettingsProvider/res/values-zu/defaults.xml b/packages/SettingsProvider/res/values-zu/defaults.xml deleted file mode 100644 index f8c3de3f27e9..000000000000 --- a/packages/SettingsProvider/res/values-zu/defaults.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/** - * Copyright (c) 2009, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="def_screensaver_component" msgid="2880543806753704722">"com.google.android.deskclock/com.android.deskclock.Screensaver"</string> -</resources> diff --git a/packages/SystemUI/res/layout/status_bar_expanded_header.xml b/packages/SystemUI/res/layout/status_bar_expanded_header.xml index 03f03e23fcf3..556210e81ff4 100644 --- a/packages/SystemUI/res/layout/status_bar_expanded_header.xml +++ b/packages/SystemUI/res/layout/status_bar_expanded_header.xml @@ -77,16 +77,16 @@ <ImageView android:id="@+id/clear_all_button" android:layout_width="50dp" android:layout_height="50dp" - android:layout_marginRight="12dp" android:scaleType="center" android:src="@drawable/ic_notify_clear" android:background="@drawable/ic_notify_button_bg" android:contentDescription="@string/accessibility_clear_all" /> - <FrameLayout + <FrameLayout android:id="@+id/settings_button_holder" android:layout_width="50dp" android:layout_height="50dp" + android:layout_marginLeft="12dp" > <ImageView android:id="@+id/settings_button" android:layout_width="50dp" @@ -94,7 +94,7 @@ android:scaleType="center" android:src="@drawable/ic_notify_settings" android:background="@drawable/ic_notify_button_bg" - android:contentDescription="@string/accessibility_settings_button" + android:contentDescription="@string/accessibility_desc_quick_settings" /> <ImageView android:id="@+id/notification_button" android:layout_width="50dp" diff --git a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java index 4e9013f56e87..edfaf493ce4e 100644 --- a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java +++ b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java @@ -27,13 +27,12 @@ import android.util.Slog; import android.view.Gravity; import android.view.MotionEvent; import android.view.ScaleGestureDetector; +import android.view.ScaleGestureDetector.OnScaleGestureListener; import android.view.View; import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.View.OnClickListener; -import java.util.Stack; - public class ExpandHelper implements Gefingerpoken, OnClickListener { public interface Callback { View getChildAtRawPosition(float x, float y); @@ -110,6 +109,32 @@ public class ExpandHelper implements Gefingerpoken, OnClickListener { private View mScrollView; + private OnScaleGestureListener mScaleGestureListener + = new ScaleGestureDetector.SimpleOnScaleGestureListener() { + @Override + public boolean onScaleBegin(ScaleGestureDetector detector) { + if (DEBUG_SCALE) Slog.v(TAG, "onscalebegin()"); + float focusX = detector.getFocusX(); + float focusY = detector.getFocusY(); + + final View underFocus = findView(focusX, focusY); + if (underFocus != null) { + startExpanding(underFocus, STRETCH); + } + return mExpanding; + } + + @Override + public boolean onScale(ScaleGestureDetector detector) { + if (DEBUG_SCALE) Slog.v(TAG, "onscale() on " + mCurrView); + return true; + } + + @Override + public void onScaleEnd(ScaleGestureDetector detector) { + } + }; + private class ViewScaler { View mView; @@ -201,31 +226,7 @@ public class ExpandHelper implements Gefingerpoken, OnClickListener { final ViewConfiguration configuration = ViewConfiguration.get(mContext); mTouchSlop = configuration.getScaledTouchSlop(); - mSGD = new ScaleGestureDetector(context, - new ScaleGestureDetector.SimpleOnScaleGestureListener() { - @Override - public boolean onScaleBegin(ScaleGestureDetector detector) { - if (DEBUG_SCALE) Slog.v(TAG, "onscalebegin()"); - float focusX = detector.getFocusX(); - float focusY = detector.getFocusY(); - - final View underFocus = findView(focusX, focusY); - if (underFocus != null) { - startExpanding(underFocus, STRETCH); - } - return mExpanding; - } - - @Override - public boolean onScale(ScaleGestureDetector detector) { - if (DEBUG_SCALE) Slog.v(TAG, "onscale() on " + mCurrView); - return true; - } - - @Override - public void onScaleEnd(ScaleGestureDetector detector) { - } - }); + mSGD = new ScaleGestureDetector(context, mScaleGestureListener); } private void updateExpansion() { @@ -587,6 +588,17 @@ public class ExpandHelper implements Gefingerpoken, OnClickListener { } /** + * Use this to abort any pending expansions in progress. + */ + public void cancel() { + finishExpanding(true); + clearView(); + + // reset the gesture detector + mSGD = new ScaleGestureDetector(mContext, mScaleGestureListener); + } + + /** * Triggers haptic feedback. */ private synchronized void vibrate(long duration) { diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java index 2008d0ebd39f..cd3bc4250000 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java @@ -19,7 +19,6 @@ package com.android.systemui.recent; import android.animation.Animator; import android.animation.LayoutTransition; import android.animation.TimeInterpolator; -import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManagerNative; import android.app.ActivityOptions; @@ -178,16 +177,18 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener mNumItemsWaitingForThumbnailsAndIcons--; } if (index == 0) { - final Activity activity = (Activity) RecentsPanelView.this.getContext(); if (mWaitingForWindowAnimation) { if (mItemToAnimateInWhenWindowAnimationIsFinished != null) { - for (View v : - new View[] { holder.iconView, holder.labelView, holder.calloutLine }) { - if (v != null) { - v.setAlpha(1f); - v.setTranslationX(0f); - v.setTranslationY(0f); - } + holder.iconView.setAlpha(1f); + holder.iconView.setTranslationX(0f); + holder.iconView.setTranslationY(0f); + holder.labelView.setAlpha(1f); + holder.labelView.setTranslationX(0f); + holder.labelView.setTranslationY(0f); + if (holder.calloutLine != null) { + holder.calloutLine.setAlpha(1f); + holder.calloutLine.setTranslationX(0f); + holder.calloutLine.setTranslationY(0f); } } mItemToAnimateInWhenWindowAnimationIsFinished = holder; @@ -195,13 +196,12 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener R.dimen.status_bar_recents_app_icon_translate_distance); final Configuration config = getResources().getConfiguration(); if (config.orientation == Configuration.ORIENTATION_PORTRAIT) { - for (View v : - new View[] { holder.iconView, holder.labelView, holder.calloutLine }) { - if (v != null) { - v.setAlpha(0f); - v.setTranslationX(translation); - } - } + holder.iconView.setAlpha(0f); + holder.iconView.setTranslationX(translation); + holder.labelView.setAlpha(0f); + holder.labelView.setTranslationX(translation); + holder.calloutLine.setAlpha(0f); + holder.calloutLine.setTranslationX(translation); } else { holder.iconView.setAlpha(0f); holder.iconView.setTranslationY(translation); @@ -225,6 +225,17 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener holder.thumbnailView.setTag(null); holder.thumbnailView.setOnLongClickListener(null); holder.thumbnailView.setVisibility(INVISIBLE); + holder.iconView.setAlpha(1f); + holder.iconView.setTranslationX(0f); + holder.iconView.setTranslationY(0f); + holder.labelView.setAlpha(1f); + holder.labelView.setTranslationX(0f); + holder.labelView.setTranslationY(0f); + if (holder.calloutLine != null) { + holder.calloutLine.setAlpha(1f); + holder.calloutLine.setTranslationX(0f); + holder.calloutLine.setTranslationY(0f); + } holder.taskDescription = null; holder.loadedThumbnailAndIcon = false; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 770ae6db4736..eef54460d8af 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -18,6 +18,7 @@ package com.android.systemui.statusbar.phone; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; +import android.animation.LayoutTransition; import android.app.StatusBarManager; import android.content.Context; import android.content.res.Resources; @@ -34,6 +35,7 @@ import android.view.Display; import android.view.MotionEvent; import android.view.View; import android.view.Surface; +import android.view.ViewGroup; import android.view.WindowManager; import android.widget.ImageView; import android.widget.LinearLayout; @@ -62,6 +64,7 @@ public class NavigationBarView extends LinearLayout { int mBarSize; boolean mVertical; + boolean mScreenOn; boolean mHidden, mLowProfile, mShowMenu; int mDisabledFlags = 0; @@ -169,6 +172,11 @@ public class NavigationBarView extends LinearLayout { mBackAltLandIcon = res.getDrawable(R.drawable.ic_sysbar_back_ime); } + public void notifyScreenOn(boolean screenOn) { + mScreenOn = screenOn; + setDisabledFlags(mDisabledFlags, true); + } + View.OnTouchListener mLightsOutListener = new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent ev) { @@ -231,6 +239,16 @@ public class NavigationBarView extends LinearLayout { setSlippery(disableHome && disableRecent && disableBack); + if (!mScreenOn && mCurrentView != null) { + ViewGroup navButtons = (ViewGroup) mCurrentView.findViewById(R.id.nav_buttons); + LayoutTransition lt = navButtons == null ? null : navButtons.getLayoutTransition(); + if (lt != null) { + lt.disableTransitionType( + LayoutTransition.CHANGE_APPEARING | LayoutTransition.CHANGE_DISAPPEARING | + LayoutTransition.APPEARING | LayoutTransition.DISAPPEARING); + } + } + getBackButton() .setVisibility(disableBack ? View.INVISIBLE : View.VISIBLE); getHomeButton() .setVisibility(disableHome ? View.INVISIBLE : View.VISIBLE); getRecentsButton().setVisibility(disableRecent ? View.INVISIBLE : View.VISIBLE); 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 41ccf3965112..45886df71a4a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -452,7 +452,11 @@ public class PhoneStatusBar extends BaseStatusBar { mSettingsButton.setVisibility(View.VISIBLE); } else { // there is a settings panel, but it's on the other side of the (large) screen - mSettingsButton.setVisibility(View.GONE); + final View buttonHolder = mStatusBarWindow.findViewById( + R.id.settings_button_holder); + if (buttonHolder != null) { + buttonHolder.setVisibility(View.GONE); + } } } else { // no settings panel, go straight to settings @@ -779,6 +783,11 @@ public class PhoneStatusBar extends BaseStatusBar { mWindowManager.updateViewLayout(mNavigationBarView, getNavigationBarLayoutParams()); } + private void notifyNavigationBarScreenOn(boolean screenOn) { + if (mNavigationBarView == null) return; + mNavigationBarView.notifyScreenOn(screenOn); + } + private WindowManager.LayoutParams getNavigationBarLayoutParams() { WindowManager.LayoutParams lp = new WindowManager.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, @@ -1364,6 +1373,7 @@ public class PhoneStatusBar extends BaseStatusBar { mHandler.sendEmptyMessage(MSG_CLOSE_SEARCH_PANEL); } + mStatusBarWindow.cancelExpandHelper(); mStatusBarView.collapseAllPanels(true); } @@ -1573,6 +1583,12 @@ public class PhoneStatusBar extends BaseStatusBar { if (mHasFlipSettings) { // reset things to their proper state + if (mFlipSettingsViewAnim != null) mFlipSettingsViewAnim.cancel(); + if (mScrollViewAnim != null) mScrollViewAnim.cancel(); + if (mSettingsButtonAnim != null) mSettingsButtonAnim.cancel(); + if (mNotificationButtonAnim != null) mNotificationButtonAnim.cancel(); + if (mClearButtonAnim != null) mClearButtonAnim.cancel(); + mScrollView.setScaleX(1f); mScrollView.setVisibility(View.VISIBLE); mSettingsButton.setAlpha(1f); @@ -2246,6 +2262,7 @@ public class PhoneStatusBar extends BaseStatusBar { else if (Intent.ACTION_SCREEN_OFF.equals(action)) { // no waiting! makeExpandedInvisible(); + notifyNavigationBarScreenOn(false); } else if (Intent.ACTION_CONFIGURATION_CHANGED.equals(action)) { if (DEBUG) { @@ -2261,6 +2278,7 @@ public class PhoneStatusBar extends BaseStatusBar { else if (Intent.ACTION_SCREEN_ON.equals(action)) { // work around problem where mDisplay.getRotation() is not stable while screen is off (bug 7086018) repositionNavigationBar(); + notifyNavigationBarScreenOn(true); } } }; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java index 22af69927f5b..599b7e2fb961 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java @@ -771,8 +771,8 @@ class QuickSettings { }); mBrightnessDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); - mBrightnessDialog.getWindow().addFlags( - WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS); + mBrightnessDialog.getWindow().getAttributes().privateFlags |= + WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS; mBrightnessDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); } if (!mBrightnessDialog.isShowing()) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java index 89c70e8c6135..9bdcf5eb0dc8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java @@ -119,5 +119,9 @@ public class StatusBarWindowView extends FrameLayout canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), pt); } } + + public void cancelExpandHelper() { + mExpandHelper.cancel(); + } } diff --git a/policy/src/com/android/internal/policy/impl/keyguard/ClockView.java b/policy/src/com/android/internal/policy/impl/keyguard/ClockView.java index 97a3f26709ce..6c701c7dca01 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/ClockView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/ClockView.java @@ -23,6 +23,7 @@ import android.content.IntentFilter; import android.database.ContentObserver; import android.graphics.Typeface; import android.os.Handler; +import android.os.UserHandle; import android.provider.Settings; import android.text.format.DateFormat; import android.util.AttributeSet; @@ -172,7 +173,7 @@ public class ClockView extends RelativeLayout { filter.addAction(Intent.ACTION_TIME_TICK); filter.addAction(Intent.ACTION_TIME_CHANGED); filter.addAction(Intent.ACTION_TIMEZONE_CHANGED); - mContext.registerReceiver(mIntentReceiver, filter); + mContext.registerReceiverAsUser(mIntentReceiver, UserHandle.OWNER, filter, null, null ); } /* monitor 12/24-hour display preference */ diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewMediator.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewMediator.java index ceb032559c57..cb70922e01ba 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewMediator.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewMediator.java @@ -1306,6 +1306,13 @@ public class KeyguardViewMediator { // (like recents). Temporary enable/disable (e.g. the "back" button) are // done in KeyguardHostView. flags |= StatusBarManager.DISABLE_RECENT; + if (!mScreenOn) { + // Disable all navbar buttons on screen off. The navigation bar will hide + // these immediately to avoid seeing the end of layout transition animations + // if quickly turning back on. + flags |= StatusBarManager.DISABLE_HOME; + flags |= StatusBarManager.DISABLE_BACK; + } if (isSecure() || !ENABLE_INSECURE_STATUS_BAR_EXPAND) { // showing secure lockscreen; disable expanding. flags |= StatusBarManager.DISABLE_EXPAND; diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java index f241c8090dbc..dcbf3f51257d 100644 --- a/services/java/com/android/server/BackupManagerService.java +++ b/services/java/com/android/server/BackupManagerService.java @@ -836,7 +836,8 @@ class BackupManagerService extends IBackupManager.Stub { if ((info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { if (DEBUG) Slog.v(TAG, "Binding to Google transport"); Intent intent = new Intent().setComponent(transportComponent); - context.bindService(intent, mGoogleConnection, Context.BIND_AUTO_CREATE); + context.bindService(intent, mGoogleConnection, Context.BIND_AUTO_CREATE, + UserHandle.USER_OWNER); } else { Slog.w(TAG, "Possible Google transport spoof: ignoring " + info); } diff --git a/services/java/com/android/server/BootReceiver.java b/services/java/com/android/server/BootReceiver.java index 22874e686eb2..7e1de5adb751 100644 --- a/services/java/com/android/server/BootReceiver.java +++ b/services/java/com/android/server/BootReceiver.java @@ -88,6 +88,8 @@ public class BootReceiver extends BroadcastReceiver { final String headers = new StringBuilder(512) .append("Build: ").append(Build.FINGERPRINT).append("\n") .append("Hardware: ").append(Build.BOARD).append("\n") + .append("Revision: ") + .append(SystemProperties.get("ro.revision", "")).append("\n") .append("Bootloader: ").append(Build.BOOTLOADER).append("\n") .append("Radio: ").append(Build.RADIO).append("\n") .append("Kernel: ") diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java index ffbfef684811..679a22a6c2a2 100644 --- a/services/java/com/android/server/InputMethodManagerService.java +++ b/services/java/com/android/server/InputMethodManagerService.java @@ -1561,7 +1561,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub intent.putExtra(SuggestionSpan.SUGGESTION_SPAN_PICKED_BEFORE, originalString); intent.putExtra(SuggestionSpan.SUGGESTION_SPAN_PICKED_AFTER, suggestions[index]); intent.putExtra(SuggestionSpan.SUGGESTION_SPAN_PICKED_HASHCODE, span.hashCode()); - mContext.sendBroadcast(intent); + mContext.sendBroadcastAsUser(intent, UserHandle.CURRENT); return true; } } @@ -1649,7 +1649,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub Intent intent = new Intent(Intent.ACTION_INPUT_METHOD_CHANGED); intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING); intent.putExtra("input_method_id", id); - mContext.sendBroadcast(intent); + mContext.sendBroadcastAsUser(intent, UserHandle.CURRENT); } unbindCurrentClientLocked(); } finally { diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index e46afd326084..894c4d02e794 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -37,6 +37,7 @@ import android.os.ServiceManager; import android.os.StrictMode; import android.os.SystemClock; import android.os.SystemProperties; +import android.os.UserHandle; import android.server.search.SearchManagerService; import android.service.dreams.DreamService; import android.util.DisplayMetrics; @@ -1005,7 +1006,7 @@ class ServerThread extends Thread { intent.setComponent(new ComponentName("com.android.systemui", "com.android.systemui.SystemUIService")); Slog.d(TAG, "Starting service: " + intent); - context.startService(intent); + context.startServiceAsUser(intent, UserHandle.OWNER); } } diff --git a/services/java/com/android/server/display/OverlayDisplayAdapter.java b/services/java/com/android/server/display/OverlayDisplayAdapter.java index 937ebcf91983..c35fd98e4ea8 100644 --- a/services/java/com/android/server/display/OverlayDisplayAdapter.java +++ b/services/java/com/android/server/display/OverlayDisplayAdapter.java @@ -282,7 +282,7 @@ final class OverlayDisplayAdapter extends DisplayAdapter { @Override public void onWindowCreated(SurfaceTexture surfaceTexture, float refreshRate) { synchronized (getSyncRoot()) { - IBinder displayToken = Surface.createDisplay(mName); + IBinder displayToken = Surface.createDisplay(mName, false); mDevice = new OverlayDisplayDevice(displayToken, mName, mWidth, mHeight, refreshRate, mDensityDpi, surfaceTexture); diff --git a/services/java/com/android/server/display/WifiDisplayAdapter.java b/services/java/com/android/server/display/WifiDisplayAdapter.java index f9d58afe8625..97fc3e678ea0 100644 --- a/services/java/com/android/server/display/WifiDisplayAdapter.java +++ b/services/java/com/android/server/display/WifiDisplayAdapter.java @@ -292,7 +292,7 @@ final class WifiDisplayAdapter extends DisplayAdapter { float refreshRate = 60.0f; // TODO: get this for real String name = display.getFriendlyDisplayName(); - IBinder displayToken = Surface.createDisplay(name); + IBinder displayToken = Surface.createDisplay(name, false); mDisplayDevice = new WifiDisplayDevice(displayToken, name, width, height, refreshRate, deviceFlags, surface); sendDisplayDeviceEventLocked(mDisplayDevice, DISPLAY_DEVICE_EVENT_ADDED); diff --git a/services/java/com/android/server/dreams/DreamController.java b/services/java/com/android/server/dreams/DreamController.java index bfb60bbe8f55..1ab6a77a85e7 100644 --- a/services/java/com/android/server/dreams/DreamController.java +++ b/services/java/com/android/server/dreams/DreamController.java @@ -25,6 +25,7 @@ import android.os.Handler; import android.os.IBinder; import android.os.RemoteException; import android.os.IBinder.DeathRecipient; +import android.os.UserHandle; import android.service.dreams.DreamService; import android.service.dreams.IDreamService; import android.util.Slog; @@ -83,8 +84,8 @@ final class DreamController { public void startDream(Binder token, ComponentName name, boolean isTest, int userId) { stopDream(); - // Close the notification shade - mContext.sendBroadcast(mCloseNotificationShadeIntent); + // Close the notification shade. Don't need to send to all, but better to be explicit. + mContext.sendBroadcastAsUser(mCloseNotificationShadeIntent, UserHandle.ALL); Slog.i(TAG, "Starting dream: name=" + name + ", isTest=" + isTest + ", userId=" + userId); @@ -128,7 +129,7 @@ final class DreamController { + ", isTest=" + oldDream.mIsTest + ", userId=" + oldDream.mUserId); if (oldDream.mSentStartBroadcast) { - mContext.sendBroadcast(mDreamingStoppedIntent); + mContext.sendBroadcastAsUser(mDreamingStoppedIntent, UserHandle.ALL); } if (oldDream.mService != null) { @@ -180,7 +181,7 @@ final class DreamController { mCurrentDream.mService = service; if (!mCurrentDream.mIsTest) { - mContext.sendBroadcast(mDreamingStartedIntent); + mContext.sendBroadcastAsUser(mDreamingStartedIntent, UserHandle.ALL); mCurrentDream.mSentStartBroadcast = true; } } diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pService.java b/wifi/java/android/net/wifi/p2p/WifiP2pService.java index f0aef9290bbe..03a0434d9546 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pService.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pService.java @@ -1079,7 +1079,21 @@ public class WifiP2pService extends IWifiP2pManager.Stub { // remain at this state. } break; - default: + case WifiMonitor.P2P_GROUP_STARTED_EVENT: + mGroup = (WifiP2pGroup) message.obj; + if (DBG) logd(getName() + " group started"); + + // We hit this scenario when a persistent group is reinvoked + if (mGroup.getNetworkId() == WifiP2pGroup.PERSISTENT_NET_ID) { + mAutonomousGroup = false; + deferMessage(message); + transitionTo(mGroupNegotiationState); + } else { + loge("Unexpected group creation, remove " + mGroup); + mWifiNative.p2pGroupRemove(mGroup.getInterface()); + } + break; + default: return NOT_HANDLED; } return HANDLED; @@ -2338,6 +2352,10 @@ public class WifiP2pService extends IWifiP2pManager.Stub { } NetworkUtils.resetConnections(mGroup.getInterface(), NetworkUtils.RESET_ALL_ADDRESSES); + // Clear any timeout that was set. This is essential for devices + // that reuse the main p2p interface for a created group. + mWifiNative.setP2pGroupIdle(mGroup.getInterface(), 0); + mGroup = null; mWifiNative.p2pFlush(); if (mPeers.remove(mPeersLostDuringConnection)) sendP2pPeersChangedBroadcast(); @@ -2349,7 +2367,7 @@ public class WifiP2pService extends IWifiP2pManager.Stub { mWifiChannel.sendMessage(WifiP2pService.DISCONNECT_WIFI_REQUEST, 0); mTempoarilyDisconnectedWifi = false; } - } + } //State machine initiated requests can have replyTo set to null indicating //there are no recipients, we ignore those reply actions |