diff options
Diffstat (limited to 'services/java')
17 files changed, 133 insertions, 60 deletions
diff --git a/services/java/com/android/server/AppWidgetService.java b/services/java/com/android/server/AppWidgetService.java index 9590712..b94183c 100644 --- a/services/java/com/android/server/AppWidgetService.java +++ b/services/java/com/android/server/AppWidgetService.java @@ -281,8 +281,9 @@ class AppWidgetService extends IAppWidgetService.Stub } @Override - public List<AppWidgetProviderInfo> getInstalledProviders() throws RemoteException { - return getImplForUser(getCallingOrCurrentUserId()).getInstalledProviders(); + public List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) + throws RemoteException { + return getImplForUser(getCallingOrCurrentUserId()).getInstalledProviders(categoryFilter); } @Override diff --git a/services/java/com/android/server/AppWidgetServiceImpl.java b/services/java/com/android/server/AppWidgetServiceImpl.java index bba5192..854185d 100644 --- a/services/java/com/android/server/AppWidgetServiceImpl.java +++ b/services/java/com/android/server/AppWidgetServiceImpl.java @@ -859,11 +859,7 @@ class AppWidgetServiceImpl { } } - public List<AppWidgetProviderInfo> getInstalledProviders() { - return getInstalledProviders(AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN); - } - - private List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) { + public List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) { synchronized (mAppWidgetIds) { ensureStateLoadedLocked(); final int N = mInstalledProviders.size(); diff --git a/services/java/com/android/server/BluetoothManagerService.java b/services/java/com/android/server/BluetoothManagerService.java index 69ccbc7..ea91875 100755 --- a/services/java/com/android/server/BluetoothManagerService.java +++ b/services/java/com/android/server/BluetoothManagerService.java @@ -775,8 +775,18 @@ class BluetoothManagerService extends IBluetoothManager.Stub { // Send BT state broadcast to update // the BT icon correctly - bluetoothStateChangeHandler(BluetoothAdapter.STATE_ON, - BluetoothAdapter.STATE_TURNING_OFF); + if ((mState == BluetoothAdapter.STATE_TURNING_ON) || + (mState == BluetoothAdapter.STATE_ON)) { + bluetoothStateChangeHandler(BluetoothAdapter.STATE_ON, + BluetoothAdapter.STATE_TURNING_OFF); + mState = BluetoothAdapter.STATE_TURNING_OFF; + } + if (mState == BluetoothAdapter.STATE_TURNING_OFF) { + bluetoothStateChangeHandler(BluetoothAdapter.STATE_TURNING_OFF, + BluetoothAdapter.STATE_OFF); + } + + mHandler.removeMessages(MESSAGE_BLUETOOTH_STATE_CHANGE); mState = BluetoothAdapter.STATE_OFF; } break; @@ -820,20 +830,33 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } } } - mHandler.removeMessages(MESSAGE_BLUETOOTH_STATE_CHANGE); + + if (mState == BluetoothAdapter.STATE_TURNING_OFF) { + // MESSAGE_USER_SWITCHED happened right after MESSAGE_ENABLE + bluetoothStateChangeHandler(mState, BluetoothAdapter.STATE_OFF); + mState = BluetoothAdapter.STATE_OFF; + } + if (mState == BluetoothAdapter.STATE_OFF) { + bluetoothStateChangeHandler(mState, BluetoothAdapter.STATE_TURNING_ON); + mState = BluetoothAdapter.STATE_TURNING_ON; + } waitForOnOff(true, false); - bluetoothStateChangeHandler(mState, BluetoothAdapter.STATE_ON); + if (mState == BluetoothAdapter.STATE_TURNING_ON) { + bluetoothStateChangeHandler(mState, BluetoothAdapter.STATE_ON); + } // disable handleDisable(false); + // Pbap service need receive STATE_TURNING_OFF intent to close + bluetoothStateChangeHandler(BluetoothAdapter.STATE_ON, + BluetoothAdapter.STATE_TURNING_OFF); waitForOnOff(false, true); - bluetoothStateChangeHandler(BluetoothAdapter.STATE_ON, + bluetoothStateChangeHandler(BluetoothAdapter.STATE_TURNING_OFF, BluetoothAdapter.STATE_OFF); - mState = BluetoothAdapter.STATE_OFF; sendBluetoothServiceDownCallback(); synchronized (mConnection) { if (mBluetooth != null) { @@ -844,6 +867,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } SystemClock.sleep(100); + mHandler.removeMessages(MESSAGE_BLUETOOTH_STATE_CHANGE); + mState = BluetoothAdapter.STATE_OFF; // enable handleEnable(false, mQuietEnable); } else if (mBinding || mBluetooth != null) { @@ -982,14 +1007,9 @@ class BluetoothManagerService extends IBluetoothManager.Stub { sendBluetoothStateCallback(isUp); //If Bluetooth is off, send service down event to proxy objects, and unbind - if (!isUp) { - //Only unbind with mEnable flag not set - //For race condition: disable and enable back-to-back - //Avoid unbind right after enable due to callback from disable - if ((!mEnable) && (mBluetooth != null)) { - sendBluetoothServiceDownCallback(); - unbindAndFinish(); - } + if (!isUp && canUnbindBluetoothService()) { + sendBluetoothServiceDownCallback(); + unbindAndFinish(); } } @@ -1037,4 +1057,22 @@ class BluetoothManagerService extends IBluetoothManager.Stub { Log.e(TAG,"waitForOnOff time out"); return false; } + + private boolean canUnbindBluetoothService() { + synchronized(mConnection) { + //Only unbind with mEnable flag not set + //For race condition: disable and enable back-to-back + //Avoid unbind right after enable due to callback from disable + //Only unbind with Bluetooth at OFF state + //Only unbind without any MESSAGE_BLUETOOTH_STATE_CHANGE message + try { + if (mEnable || (mBluetooth == null)) return false; + if (mHandler.hasMessages(MESSAGE_BLUETOOTH_STATE_CHANGE)) return false; + return (mBluetooth.getState() == BluetoothAdapter.STATE_OFF); + } catch (RemoteException e) { + Log.e(TAG, "getState()", e); + } + } + return false; + } } diff --git a/services/java/com/android/server/BootReceiver.java b/services/java/com/android/server/BootReceiver.java index 7e1de5a..235c662 100644 --- a/services/java/com/android/server/BootReceiver.java +++ b/services/java/com/android/server/BootReceiver.java @@ -20,11 +20,14 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.IPackageManager; import android.os.Build; import android.os.DropBoxManager; import android.os.FileObserver; import android.os.FileUtils; import android.os.RecoverySystem; +import android.os.RemoteException; +import android.os.ServiceManager; import android.os.SystemProperties; import android.provider.Downloads; import android.util.Slog; @@ -69,7 +72,15 @@ public class BootReceiver extends BroadcastReceiver { Slog.e(TAG, "Can't log boot events", e); } try { - removeOldUpdatePackages(context); + boolean onlyCore = false; + try { + onlyCore = IPackageManager.Stub.asInterface(ServiceManager.getService( + "package")).isOnlyCoreApps(); + } catch (RemoteException e) { + } + if (!onlyCore) { + removeOldUpdatePackages(context); + } } catch (Exception e) { Slog.e(TAG, "Can't remove old update packages", e); } diff --git a/services/java/com/android/server/DevicePolicyManagerService.java b/services/java/com/android/server/DevicePolicyManagerService.java index 5ba71a4..6a62809 100644 --- a/services/java/com/android/server/DevicePolicyManagerService.java +++ b/services/java/com/android/server/DevicePolicyManagerService.java @@ -146,8 +146,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { getSendingUserId()); if (Intent.ACTION_BOOT_COMPLETED.equals(action) || ACTION_EXPIRED_PASSWORD_NOTIFICATION.equals(action)) { - Slog.v(TAG, "Sending password expiration notifications for action " + action - + " for user " + userHandle); + if (DBG) Slog.v(TAG, "Sending password expiration notifications for action " + + action + " for user " + userHandle); mHandler.post(new Runnable() { public void run() { handlePasswordExpirationNotification(getUserData(userHandle)); @@ -468,7 +468,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { private void handlePackagesChanged(int userHandle) { boolean removed = false; - Slog.d(TAG, "Handling package changes for user " + userHandle); + if (DBG) Slog.d(TAG, "Handling package changes for user " + userHandle); DevicePolicyData policy = getUserData(userHandle); IPackageManager pm = AppGlobals.getPackageManager(); for (int i = policy.mAdminList.size() - 1; i >= 0; i--) { @@ -982,7 +982,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { long token = Binder.clearCallingIdentity(); try { String value = cameraDisabled ? "1" : "0"; - Slog.v(TAG, "Change in camera state [" + if (DBG) Slog.v(TAG, "Change in camera state [" + SYSTEM_PROP_DISABLE_CAMERA + "] = " + value); SystemProperties.set(SYSTEM_PROP_DISABLE_CAMERA, value); } finally { @@ -1682,10 +1682,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } int neededNumbers = getPasswordMinimumNumeric(null, userHandle); if (numbers < neededNumbers) { - Slog - .w(TAG, "resetPassword: number of numerical digits " + numbers - + " does not meet required number of numerical digits " - + neededNumbers); + Slog.w(TAG, "resetPassword: number of numerical digits " + numbers + + " does not meet required number of numerical digits " + + neededNumbers); return false; } int neededLowerCase = getPasswordMinimumLowerCase(null, userHandle); diff --git a/services/java/com/android/server/EntropyMixer.java b/services/java/com/android/server/EntropyMixer.java index b63a70e..4632374 100644 --- a/services/java/com/android/server/EntropyMixer.java +++ b/services/java/com/android/server/EntropyMixer.java @@ -17,6 +17,7 @@ package com.android.server; import java.io.File; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -97,8 +98,10 @@ public class EntropyMixer extends Binder { private void loadInitialEntropy() { try { RandomBlock.fromFile(entropyFile).toFile(randomDevice, false); + } catch (FileNotFoundException e) { + Slog.w(TAG, "No existing entropy file -- first boot?"); } catch (IOException e) { - Slog.w(TAG, "unable to load initial entropy (first boot?)", e); + Slog.w(TAG, "Failure loading existing entropy file", e); } } @@ -106,7 +109,7 @@ public class EntropyMixer extends Binder { try { RandomBlock.fromFile(randomDevice).toFile(entropyFile, true); } catch (IOException e) { - Slog.w(TAG, "unable to write entropy", e); + Slog.w(TAG, "Unable to write entropy", e); } } diff --git a/services/java/com/android/server/MountService.java b/services/java/com/android/server/MountService.java index ad28a36..2e0c977 100644 --- a/services/java/com/android/server/MountService.java +++ b/services/java/com/android/server/MountService.java @@ -105,9 +105,9 @@ class MountService extends IMountService.Stub // TODO: listen for user creation/deletion - private static final boolean LOCAL_LOGD = true; - private static final boolean DEBUG_UNMOUNT = true; - private static final boolean DEBUG_EVENTS = true; + private static final boolean LOCAL_LOGD = false; + private static final boolean DEBUG_UNMOUNT = false; + private static final boolean DEBUG_EVENTS = false; private static final boolean DEBUG_OBB = false; // Disable this since it messes up long-running cryptfs operations. diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 894c4d0..55885e6 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -1005,7 +1005,7 @@ class ServerThread extends Thread { Intent intent = new Intent(); intent.setComponent(new ComponentName("com.android.systemui", "com.android.systemui.SystemUIService")); - Slog.d(TAG, "Starting service: " + intent); + //Slog.d(TAG, "Starting service: " + intent); context.startServiceAsUser(intent, UserHandle.OWNER); } } diff --git a/services/java/com/android/server/TelephonyRegistry.java b/services/java/com/android/server/TelephonyRegistry.java index 26684de..17260d5 100644 --- a/services/java/com/android/server/TelephonyRegistry.java +++ b/services/java/com/android/server/TelephonyRegistry.java @@ -139,7 +139,7 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { public void handleMessage(Message msg) { switch (msg.what) { case MSG_USER_SWITCHED: { - Slog.d(TAG, "MSG_USER_SWITCHED userId=" + msg.arg1); + if (DBG) Slog.d(TAG, "MSG_USER_SWITCHED userId=" + msg.arg1); TelephonyRegistry.this.notifyCellLocation(mCellLocation); break; } diff --git a/services/java/com/android/server/WallpaperManagerService.java b/services/java/com/android/server/WallpaperManagerService.java index 82dbf54..21a1956 100644 --- a/services/java/com/android/server/WallpaperManagerService.java +++ b/services/java/com/android/server/WallpaperManagerService.java @@ -1096,6 +1096,8 @@ class WallpaperManagerService extends IWallpaperManager.Stub { } } while (type != XmlPullParser.END_DOCUMENT); success = true; + } catch (FileNotFoundException e) { + Slog.w(TAG, "no current wallpaper -- first boot?"); } catch (NullPointerException e) { Slog.w(TAG, "failed parsing " + file + " " + e); } catch (NumberFormatException e) { diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 82c9030..5fb2ec9 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -21,7 +21,6 @@ import static android.content.pm.PackageManager.PERMISSION_GRANTED; import com.android.internal.R; import com.android.internal.os.BatteryStatsImpl; import com.android.internal.os.ProcessStats; -import com.android.internal.widget.LockPatternUtils; import com.android.server.AttributeCache; import com.android.server.IntentResolver; import com.android.server.ProcessMap; @@ -7935,7 +7934,7 @@ public final class ActivityManagerService extends ActivityManagerNative } }, 0, null, null, android.Manifest.permission.INTERACT_ACROSS_USERS, - false, false, MY_PID, Process.SYSTEM_UID, UserHandle.USER_ALL); + true, false, MY_PID, Process.SYSTEM_UID, UserHandle.USER_ALL); } finally { Binder.restoreCallingIdentity(ident); } @@ -14257,7 +14256,7 @@ public final class ActivityManagerService extends ActivityManagerNative } }, 0, null, null, android.Manifest.permission.INTERACT_ACROSS_USERS, - false, false, MY_PID, Process.SYSTEM_UID, UserHandle.USER_ALL); + true, false, MY_PID, Process.SYSTEM_UID, UserHandle.USER_ALL); } } } finally { @@ -14480,7 +14479,7 @@ public final class ActivityManagerService extends ActivityManagerNative long ident = Binder.clearCallingIdentity(); try { // We are going to broadcast ACTION_USER_STOPPING and then - // once that is down send a final ACTION_SHUTDOWN and then + // once that is done send a final ACTION_SHUTDOWN and then // stop the user. final Intent stoppingIntent = new Intent(Intent.ACTION_USER_STOPPING); stoppingIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); diff --git a/services/java/com/android/server/display/WifiDisplayController.java b/services/java/com/android/server/display/WifiDisplayController.java index 886e049..a83675e 100644 --- a/services/java/com/android/server/display/WifiDisplayController.java +++ b/services/java/com/android/server/display/WifiDisplayController.java @@ -30,6 +30,7 @@ import android.media.AudioManager; import android.media.RemoteDisplay; import android.net.NetworkInfo; import android.net.Uri; +import android.net.wifi.WpsInfo; import android.net.wifi.p2p.WifiP2pConfig; import android.net.wifi.p2p.WifiP2pDevice; import android.net.wifi.p2p.WifiP2pDeviceList; @@ -572,6 +573,16 @@ final class WifiDisplayController implements DumpUtils.Dump { mConnectingDevice = mDesiredDevice; WifiP2pConfig config = new WifiP2pConfig(); + WpsInfo wps = new WpsInfo(); + if (mConnectingDevice.wpsPbcSupported()) { + wps.setup = WpsInfo.PBC; + } else if (mConnectingDevice.wpsDisplaySupported()) { + // We do keypad if peer does display + wps.setup = WpsInfo.KEYPAD; + } else { + wps.setup = WpsInfo.DISPLAY; + } + config.wps = wps; config.deviceAddress = mConnectingDevice.deviceAddress; // Helps with STA & P2P concurrency config.groupOwnerIntent = WifiP2pConfig.MIN_GROUP_OWNER_INTENT; diff --git a/services/java/com/android/server/dreams/DreamManagerService.java b/services/java/com/android/server/dreams/DreamManagerService.java index 1f40176..7e4a554 100644 --- a/services/java/com/android/server/dreams/DreamManagerService.java +++ b/services/java/com/android/server/dreams/DreamManagerService.java @@ -47,7 +47,7 @@ import libcore.util.Objects; * @hide */ public final class DreamManagerService extends IDreamManager.Stub { - private static final boolean DEBUG = true; + private static final boolean DEBUG = false; private static final String TAG = "DreamManagerService"; private final Object mLock = new Object(); @@ -292,7 +292,7 @@ public final class DreamManagerService extends IDreamManager.Stub { stopDreamLocked(); - Slog.i(TAG, "Entering dreamland."); + if (DEBUG) Slog.i(TAG, "Entering dreamland."); final Binder newToken = new Binder(); mCurrentDreamToken = newToken; @@ -310,7 +310,7 @@ public final class DreamManagerService extends IDreamManager.Stub { private void stopDreamLocked() { if (mCurrentDreamToken != null) { - Slog.i(TAG, "Leaving dreamland."); + if (DEBUG) Slog.i(TAG, "Leaving dreamland."); cleanupDreamLocked(); diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index 83672c5..fd649a1 100644 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -1020,7 +1020,8 @@ public class PackageManagerService extends IPackageManager.Stub { readPermissions(); - mRestoredSettings = mSettings.readLPw(sUserManager.getUsers(false)); + mRestoredSettings = mSettings.readLPw(sUserManager.getUsers(false), + mSdkVersion, mOnlyCore); long startTime = SystemClock.uptimeMillis(); EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_SYSTEM_SCAN_START, @@ -1320,6 +1321,10 @@ public class PackageManagerService extends IPackageManager.Stub { return !mRestoredSettings; } + public boolean isOnlyCoreApps() { + return mOnlyCore; + } + private String getRequiredVerifierLPr() { final Intent verification = new Intent(Intent.ACTION_PACKAGE_NEEDS_VERIFICATION); final List<ResolveInfo> receivers = queryIntentReceivers(verification, PACKAGE_MIME_TYPE, @@ -4113,7 +4118,7 @@ public class PackageManagerService extends IPackageManager.Stub { } } - Slog.i(TAG, "Linking native library dir for " + path); + if (DEBUG_INSTALL) Slog.i(TAG, "Linking native library dir for " + path); final int[] userIds = sUserManager.getUserIds(); synchronized (mInstallLock) { for (int userId : userIds) { @@ -6301,20 +6306,21 @@ public class PackageManagerService extends IPackageManager.Stub { final File packageFile; if (encryptionParams != null || !"file".equals(mPackageURI.getScheme())) { - ParcelFileDescriptor out = null; - mTempPackage = createTempPackageFile(mDrmAppPrivateInstallDir); if (mTempPackage != null) { + ParcelFileDescriptor out; try { out = ParcelFileDescriptor.open(mTempPackage, ParcelFileDescriptor.MODE_READ_WRITE); } catch (FileNotFoundException e) { + out = null; Slog.e(TAG, "Failed to create temporary file for : " + mPackageURI); } // Make a temporary file for decryption. ret = mContainerService .copyResource(mPackageURI, encryptionParams, out); + IoUtils.closeQuietly(out); packageFile = mTempPackage; @@ -9079,10 +9085,8 @@ public class PackageManagerService extends IPackageManager.Stub { if (removed.size() > 0) { for (int j=0; j<removed.size(); j++) { PreferredActivity pa = removed.get(i); - RuntimeException here = new RuntimeException("here"); - here.fillInStackTrace(); Slog.w(TAG, "Removing dangling preferred activity: " - + pa.mPref.mComponent, here); + + pa.mPref.mComponent); pir.removeFilter(pa); } mSettings.writePackageRestrictionsLPr( diff --git a/services/java/com/android/server/pm/Settings.java b/services/java/com/android/server/pm/Settings.java index 94494ae..06f11bc 100644 --- a/services/java/com/android/server/pm/Settings.java +++ b/services/java/com/android/server/pm/Settings.java @@ -1556,7 +1556,7 @@ final class Settings { } } - boolean readLPw(List<UserInfo> users) { + boolean readLPw(List<UserInfo> users, int sdkVersion, boolean onlyCore) { FileInputStream str = null; if (mBackupSettingsFilename.exists()) { try { @@ -1586,7 +1586,10 @@ final class Settings { mReadMessages.append("No settings file found\n"); PackageManagerService.reportSettingsProblem(Log.INFO, "No settings file; creating initial state"); - readDefaultPreferredAppsLPw(0); + if (!onlyCore) { + readDefaultPreferredAppsLPw(0); + } + mInternalSdkPlatform = mExternalSdkPlatform = sdkVersion; return false; } str = new FileInputStream(mSettingsFilename); diff --git a/services/java/com/android/server/power/RampAnimator.java b/services/java/com/android/server/power/RampAnimator.java index 6f063c3..4a4f080 100644 --- a/services/java/com/android/server/power/RampAnimator.java +++ b/services/java/com/android/server/power/RampAnimator.java @@ -102,20 +102,26 @@ final class RampAnimator<T> { final long frameTimeNanos = mChoreographer.getFrameTimeNanos(); final float timeDelta = (frameTimeNanos - mLastFrameTimeNanos) * 0.000000001f; - final float amount = timeDelta * mRate / ValueAnimator.getDurationScale(); mLastFrameTimeNanos = frameTimeNanos; // Advance the animated value towards the target at the specified rate // and clamp to the target. This gives us the new current value but // we keep the animated value around to allow for fractional increments // towards the target. - int oldCurrentValue = mCurrentValue; - if (mTargetValue > mCurrentValue) { - mAnimatedValue = Math.min(mAnimatedValue + amount, mTargetValue); + final float scale = ValueAnimator.getDurationScale(); + if (scale == 0) { + // Animation off. + mAnimatedValue = mTargetValue; } else { - mAnimatedValue = Math.max(mAnimatedValue - amount, mTargetValue); + final float amount = timeDelta * mRate / scale; + if (mTargetValue > mCurrentValue) { + mAnimatedValue = Math.min(mAnimatedValue + amount, mTargetValue); + } else { + mAnimatedValue = Math.max(mAnimatedValue - amount, mTargetValue); + } } - mCurrentValue = (int)Math.round(mAnimatedValue); + final int oldCurrentValue = mCurrentValue; + mCurrentValue = Math.round(mAnimatedValue); if (oldCurrentValue != mCurrentValue) { mProperty.setValue(mObject, mCurrentValue); diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index c3fc19c..d0ab917 100755 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -821,7 +821,7 @@ public class WindowManagerService extends IWindowManager.Stub mTransitionAnimationScale = Settings.Global.getFloat(context.getContentResolver(), Settings.Global.TRANSITION_ANIMATION_SCALE, mTransitionAnimationScale); setAnimatorDurationScale(Settings.Global.getFloat(context.getContentResolver(), - Settings.Global.ANIMATOR_DURATION_SCALE, mTransitionAnimationScale)); + Settings.Global.ANIMATOR_DURATION_SCALE, mAnimatorDurationScale)); // Track changes to DevicePolicyManager state so we can enable/disable keyguard. IntentFilter filter = new IntentFilter(); |
