summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--services/java/Android.mk3
-rw-r--r--services/java/com/android/server/BackupManagerService.java80
-rw-r--r--services/java/com/android/server/BatteryService.java74
-rw-r--r--services/java/com/android/server/ConnectivityService.java5
-rw-r--r--services/java/com/android/server/DeviceStorageMonitorService.java9
-rw-r--r--services/java/com/android/server/EventLogTags.logtags139
-rw-r--r--services/java/com/android/server/InputMethodManagerService.java296
-rwxr-xr-xservices/java/com/android/server/NotificationManagerService.java65
-rw-r--r--services/java/com/android/server/PackageManagerService.java438
-rw-r--r--services/java/com/android/server/PowerManagerService.java85
-rw-r--r--services/java/com/android/server/SystemServer.java12
-rw-r--r--services/java/com/android/server/Watchdog.java32
-rw-r--r--services/java/com/android/server/WindowManagerService.java284
13 files changed, 802 insertions, 720 deletions
diff --git a/services/java/Android.mk b/services/java/Android.mk
index 5e912d6..5c54e33 100644
--- a/services/java/Android.mk
+++ b/services/java/Android.mk
@@ -5,7 +5,8 @@ LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
- $(call all-subdir-java-files)
+ $(call all-subdir-java-files) \
+ com/android/server/EventLogTags.logtags
LOCAL_MODULE:= services
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index c3b591e..3307932 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -102,22 +102,6 @@ class BackupManagerService extends IBackupManager.Stub {
private static final int MSG_RUN_CLEAR = 4;
private static final int MSG_RUN_INITIALIZE = 5;
- // Event tags -- see system/core/logcat/event-log-tags
- private static final int BACKUP_DATA_CHANGED_EVENT = 2820;
- private static final int BACKUP_START_EVENT = 2821;
- private static final int BACKUP_TRANSPORT_FAILURE_EVENT = 2822;
- private static final int BACKUP_AGENT_FAILURE_EVENT = 2823;
- private static final int BACKUP_PACKAGE_EVENT = 2824;
- private static final int BACKUP_SUCCESS_EVENT = 2825;
- private static final int BACKUP_RESET_EVENT = 2826;
- private static final int BACKUP_INITIALIZE_EVENT = 2827;
-
- private static final int RESTORE_START_EVENT = 2830;
- private static final int RESTORE_TRANSPORT_FAILURE_EVENT = 2831;
- private static final int RESTORE_AGENT_FAILURE_EVENT = 2832;
- private static final int RESTORE_PACKAGE_EVENT = 2833;
- private static final int RESTORE_SUCCESS_EVENT = 2834;
-
// Timeout interval for deciding that a bind or clear-data has taken too long
static final long TIMEOUT_INTERVAL = 10 * 1000;
@@ -1016,7 +1000,7 @@ class BackupManagerService extends IBackupManager.Stub {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
try {
- EventLog.writeEvent(BACKUP_START_EVENT, mTransport.transportDirName());
+ EventLog.writeEvent(EventLogTags.BACKUP_START, mTransport.transportDirName());
// If we haven't stored package manager metadata yet, we must init the transport.
File pmState = new File(mStateDir, PACKAGE_MANAGER_SENTINEL);
@@ -1025,9 +1009,9 @@ class BackupManagerService extends IBackupManager.Stub {
resetBackupState(mStateDir); // Just to make sure.
status = mTransport.initializeDevice();
if (status == BackupConstants.TRANSPORT_OK) {
- EventLog.writeEvent(BACKUP_INITIALIZE_EVENT);
+ EventLog.writeEvent(EventLogTags.BACKUP_INITIALIZE);
} else {
- EventLog.writeEvent(BACKUP_TRANSPORT_FAILURE_EVENT, "(initialize)");
+ EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, "(initialize)");
Log.e(TAG, "Transport error in initializeDevice()");
}
}
@@ -1056,9 +1040,9 @@ class BackupManagerService extends IBackupManager.Stub {
status = mTransport.finishBackup();
if (status == BackupConstants.TRANSPORT_OK) {
int millis = (int) (SystemClock.elapsedRealtime() - startRealtime);
- EventLog.writeEvent(BACKUP_SUCCESS_EVENT, mQueue.size(), millis);
+ EventLog.writeEvent(EventLogTags.BACKUP_SUCCESS, mQueue.size(), millis);
} else {
- EventLog.writeEvent(BACKUP_TRANSPORT_FAILURE_EVENT, "(finish)");
+ EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, "(finish)");
Log.e(TAG, "Transport error in finishBackup()");
}
}
@@ -1067,7 +1051,7 @@ class BackupManagerService extends IBackupManager.Stub {
// The backend reports that our dataset has been wiped. We need to
// reset all of our bookkeeping and instead run a new backup pass for
// everything. This must come after mBackupOrRestoreInProgress is cleared.
- EventLog.writeEvent(BACKUP_RESET_EVENT, mTransport.transportDirName());
+ EventLog.writeEvent(EventLogTags.BACKUP_RESET, mTransport.transportDirName());
resetBackupState(mStateDir);
}
} catch (Exception e) {
@@ -1201,7 +1185,7 @@ class BackupManagerService extends IBackupManager.Stub {
if (DEBUG) Log.v(TAG, "doBackup() success");
} catch (Exception e) {
Log.e(TAG, "Error backing up " + packageName, e);
- EventLog.writeEvent(BACKUP_AGENT_FAILURE_EVENT, packageName, e.toString());
+ EventLog.writeEvent(EventLogTags.BACKUP_AGENT_FAILURE, packageName, e.toString());
backupDataName.delete();
newStateName.delete();
return BackupConstants.TRANSPORT_ERROR;
@@ -1241,13 +1225,13 @@ class BackupManagerService extends IBackupManager.Stub {
if (result == BackupConstants.TRANSPORT_OK) {
backupDataName.delete();
newStateName.renameTo(savedStateName);
- EventLog.writeEvent(BACKUP_PACKAGE_EVENT, packageName, size);
+ EventLog.writeEvent(EventLogTags.BACKUP_PACKAGE, packageName, size);
} else {
- EventLog.writeEvent(BACKUP_TRANSPORT_FAILURE_EVENT, packageName);
+ EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, packageName);
}
} catch (Exception e) {
Log.e(TAG, "Transport error backing up " + packageName, e);
- EventLog.writeEvent(BACKUP_TRANSPORT_FAILURE_EVENT, packageName);
+ EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, packageName);
result = BackupConstants.TRANSPORT_ERROR;
} finally {
try { if (backupData != null) backupData.close(); } catch (IOException e) {}
@@ -1364,7 +1348,7 @@ class BackupManagerService extends IBackupManager.Stub {
// build the set of apps to restore
try {
// TODO: Log this before getAvailableRestoreSets, somehow
- EventLog.writeEvent(RESTORE_START_EVENT, mTransport.transportDirName(), mToken);
+ EventLog.writeEvent(EventLogTags.RESTORE_START, mTransport.transportDirName(), mToken);
// Get the list of all packages which have backup enabled.
// (Include the Package Manager metadata pseudo-package first.)
@@ -1391,24 +1375,24 @@ class BackupManagerService extends IBackupManager.Stub {
if (mTransport.startRestore(mToken, restorePackages.toArray(new PackageInfo[0])) !=
BackupConstants.TRANSPORT_OK) {
Log.e(TAG, "Error starting restore operation");
- EventLog.writeEvent(RESTORE_TRANSPORT_FAILURE_EVENT);
+ EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
return;
}
String packageName = mTransport.nextRestorePackage();
if (packageName == null) {
Log.e(TAG, "Error getting first restore package");
- EventLog.writeEvent(RESTORE_TRANSPORT_FAILURE_EVENT);
+ EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
return;
} else if (packageName.equals("")) {
Log.i(TAG, "No restore data available");
int millis = (int) (SystemClock.elapsedRealtime() - startRealtime);
- EventLog.writeEvent(RESTORE_SUCCESS_EVENT, 0, millis);
+ EventLog.writeEvent(EventLogTags.RESTORE_SUCCESS, 0, millis);
return;
} else if (!packageName.equals(PACKAGE_MANAGER_SENTINEL)) {
Log.e(TAG, "Expected restore data for \"" + PACKAGE_MANAGER_SENTINEL
+ "\", found only \"" + packageName + "\"");
- EventLog.writeEvent(RESTORE_AGENT_FAILURE_EVENT, PACKAGE_MANAGER_SENTINEL,
+ EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, PACKAGE_MANAGER_SENTINEL,
"Package manager data missing");
return;
}
@@ -1423,7 +1407,7 @@ class BackupManagerService extends IBackupManager.Stub {
// the restore operation.
if (!pmAgent.hasMetadata()) {
Log.e(TAG, "No restore metadata available, so not restoring settings");
- EventLog.writeEvent(RESTORE_AGENT_FAILURE_EVENT, PACKAGE_MANAGER_SENTINEL,
+ EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, PACKAGE_MANAGER_SENTINEL,
"Package manager restore metadata missing");
return;
}
@@ -1434,7 +1418,7 @@ class BackupManagerService extends IBackupManager.Stub {
if (packageName == null) {
Log.e(TAG, "Error getting next restore package");
- EventLog.writeEvent(RESTORE_TRANSPORT_FAILURE_EVENT);
+ EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
return;
} else if (packageName.equals("")) {
break;
@@ -1452,7 +1436,7 @@ class BackupManagerService extends IBackupManager.Stub {
Metadata metaInfo = pmAgent.getRestoredMetadata(packageName);
if (metaInfo == null) {
Log.e(TAG, "Missing metadata for " + packageName);
- EventLog.writeEvent(RESTORE_AGENT_FAILURE_EVENT, packageName,
+ EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName,
"Package metadata missing");
continue;
}
@@ -1463,7 +1447,7 @@ class BackupManagerService extends IBackupManager.Stub {
packageInfo = mPackageManager.getPackageInfo(packageName, flags);
} catch (NameNotFoundException e) {
Log.e(TAG, "Invalid package restoring data", e);
- EventLog.writeEvent(RESTORE_AGENT_FAILURE_EVENT, packageName,
+ EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName,
"Package missing on device");
continue;
}
@@ -1472,13 +1456,13 @@ class BackupManagerService extends IBackupManager.Stub {
String message = "Version " + metaInfo.versionCode
+ " > installed version " + packageInfo.versionCode;
Log.w(TAG, "Package " + packageName + ": " + message);
- EventLog.writeEvent(RESTORE_AGENT_FAILURE_EVENT, packageName, message);
+ EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName, message);
continue;
}
if (!signaturesMatch(metaInfo.signatures, packageInfo)) {
Log.w(TAG, "Signature mismatch restoring " + packageName);
- EventLog.writeEvent(RESTORE_AGENT_FAILURE_EVENT, packageName,
+ EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName,
"Signature mismatch");
continue;
}
@@ -1505,7 +1489,7 @@ class BackupManagerService extends IBackupManager.Stub {
: IApplicationThread.BACKUP_MODE_RESTORE));
if (agent == null) {
Log.w(TAG, "Can't find backup agent for " + packageName);
- EventLog.writeEvent(RESTORE_AGENT_FAILURE_EVENT, packageName,
+ EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName,
"Restore agent missing");
continue;
}
@@ -1536,7 +1520,7 @@ class BackupManagerService extends IBackupManager.Stub {
// if we get this far, report success to the observer
error = 0;
int millis = (int) (SystemClock.elapsedRealtime() - startRealtime);
- EventLog.writeEvent(RESTORE_SUCCESS_EVENT, count, millis);
+ EventLog.writeEvent(EventLogTags.RESTORE_SUCCESS, count, millis);
} catch (Exception e) {
Log.e(TAG, "Error in restore thread", e);
} finally {
@@ -1594,7 +1578,7 @@ class BackupManagerService extends IBackupManager.Stub {
if (mTransport.getRestoreData(backupData) != BackupConstants.TRANSPORT_OK) {
Log.e(TAG, "Error getting restore data for " + packageName);
- EventLog.writeEvent(RESTORE_TRANSPORT_FAILURE_EVENT);
+ EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
return;
}
@@ -1627,10 +1611,10 @@ class BackupManagerService extends IBackupManager.Stub {
//newStateName.renameTo(savedStateName); // TODO: replace with this
int size = (int) backupDataName.length();
- EventLog.writeEvent(RESTORE_PACKAGE_EVENT, packageName, size);
+ EventLog.writeEvent(EventLogTags.RESTORE_PACKAGE, packageName, size);
} catch (Exception e) {
Log.e(TAG, "Error restoring data for " + packageName, e);
- EventLog.writeEvent(RESTORE_AGENT_FAILURE_EVENT, packageName, e.toString());
+ EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName, e.toString());
// If the agent fails restore, it might have put the app's data
// into an incoherent state. For consistency we wipe its data
@@ -1702,7 +1686,7 @@ class BackupManagerService extends IBackupManager.Stub {
}
Log.i(TAG, "Initializing (wiping) backup transport storage: " + transportName);
- EventLog.writeEvent(BACKUP_START_EVENT, transport.transportDirName());
+ EventLog.writeEvent(EventLogTags.BACKUP_START, transport.transportDirName());
long startRealtime = SystemClock.elapsedRealtime();
int status = transport.initializeDevice();
@@ -1714,9 +1698,9 @@ class BackupManagerService extends IBackupManager.Stub {
if (status == BackupConstants.TRANSPORT_OK) {
Log.i(TAG, "Device init successful");
int millis = (int) (SystemClock.elapsedRealtime() - startRealtime);
- EventLog.writeEvent(BACKUP_INITIALIZE_EVENT);
+ EventLog.writeEvent(EventLogTags.BACKUP_INITIALIZE);
resetBackupState(new File(mBaseStateDir, transport.transportDirName()));
- EventLog.writeEvent(BACKUP_SUCCESS_EVENT, 0, millis);
+ EventLog.writeEvent(EventLogTags.BACKUP_SUCCESS, 0, millis);
synchronized (mQueueLock) {
recordInitPendingLocked(false, transportName);
}
@@ -1724,7 +1708,7 @@ class BackupManagerService extends IBackupManager.Stub {
// If this didn't work, requeue this one and try again
// after a suitable interval
Log.e(TAG, "Transport error in initializeDevice()");
- EventLog.writeEvent(BACKUP_TRANSPORT_FAILURE_EVENT, "(initialize)");
+ EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, "(initialize)");
synchronized (mQueueLock) {
recordInitPendingLocked(true, transportName);
}
@@ -1757,7 +1741,7 @@ class BackupManagerService extends IBackupManager.Stub {
// Record that we need a backup pass for the caller. Since multiple callers
// may share a uid, we need to note all candidates within that uid and schedule
// a backup pass for each of them.
- EventLog.writeEvent(BACKUP_DATA_CHANGED_EVENT, packageName);
+ EventLog.writeEvent(EventLogTags.BACKUP_DATA_CHANGED, packageName);
// If the caller does not hold the BACKUP permission, it can only request a
// backup of its own data.
@@ -2103,7 +2087,7 @@ class BackupManagerService extends IBackupManager.Stub {
}
if (mRestoreSets == null) { // valid transport; do the one-time fetch
mRestoreSets = mRestoreTransport.getAvailableRestoreSets();
- if (mRestoreSets == null) EventLog.writeEvent(RESTORE_TRANSPORT_FAILURE_EVENT);
+ if (mRestoreSets == null) EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
}
return mRestoreSets;
} catch (Exception e) {
diff --git a/services/java/com/android/server/BatteryService.java b/services/java/com/android/server/BatteryService.java
index bb36936..e98fa99 100644
--- a/services/java/com/android/server/BatteryService.java
+++ b/services/java/com/android/server/BatteryService.java
@@ -68,23 +68,19 @@ import java.io.PrintWriter;
*/
class BatteryService extends Binder {
private static final String TAG = BatteryService.class.getSimpleName();
-
+
private static final boolean LOCAL_LOGV = false;
-
- static final int LOG_BATTERY_LEVEL = 2722;
- static final int LOG_BATTERY_STATUS = 2723;
- static final int LOG_BATTERY_DISCHARGE_STATUS = 2730;
-
+
static final int BATTERY_SCALE = 100; // battery capacity is a percentage
// Used locally for determining when to make a last ditch effort to log
// discharge stats before the device dies.
- private static final int CRITICAL_BATTERY_LEVEL = 4;
+ private static final int CRITICAL_BATTERY_LEVEL = 4;
private static final int DUMP_MAX_LENGTH = 24 * 1024;
private static final String[] DUMPSYS_ARGS = new String[] { "--checkin", "-u" };
private static final String BATTERY_STATS_SERVICE_NAME = "batteryinfo";
-
+
private static final String DUMPSYS_DATA_PATH = "/data/system/";
// This should probably be exposed in the API, though it's not critical
@@ -92,7 +88,7 @@ class BatteryService extends Binder {
private final Context mContext;
private final IBatteryStats mBatteryStats;
-
+
private boolean mAcOnline;
private boolean mUsbOnline;
private int mBatteryStatus;
@@ -117,12 +113,12 @@ class BatteryService extends Binder {
private int mPlugType;
private int mLastPlugType = -1; // Extra state so we can detect first run
-
+
private long mDischargeStartTime;
private int mDischargeStartLevel;
-
+
private boolean mSentLowBatteryBroadcast = false;
-
+
public BatteryService(Context context) {
mContext = context;
mBatteryStats = BatteryStatsService.getService();
@@ -219,20 +215,20 @@ class BatteryService extends Binder {
mPlugType != mLastPlugType ||
mBatteryVoltage != mLastBatteryVoltage ||
mBatteryTemperature != mLastBatteryTemperature) {
-
+
if (mPlugType != mLastPlugType) {
if (mLastPlugType == BATTERY_PLUGGED_NONE) {
// discharging -> charging
-
+
// There's no value in this data unless we've discharged at least once and the
// battery level has changed; so don't log until it does.
if (mDischargeStartTime != 0 && mDischargeStartLevel != mBatteryLevel) {
dischargeDuration = SystemClock.elapsedRealtime() - mDischargeStartTime;
logOutlier = true;
- EventLog.writeEvent(LOG_BATTERY_DISCHARGE_STATUS, dischargeDuration,
+ EventLog.writeEvent(EventLogTags.BATTERY_DISCHARGE, dischargeDuration,
mDischargeStartLevel, mBatteryLevel);
// make sure we see a discharge event before logging again
- mDischargeStartTime = 0;
+ mDischargeStartTime = 0;
}
} else if (mPlugType == BATTERY_PLUGGED_NONE) {
// charging -> discharging or we just powered up
@@ -244,19 +240,19 @@ class BatteryService extends Binder {
mBatteryHealth != mLastBatteryHealth ||
mBatteryPresent != mLastBatteryPresent ||
mPlugType != mLastPlugType) {
- EventLog.writeEvent(LOG_BATTERY_STATUS,
+ EventLog.writeEvent(EventLogTags.BATTERY_STATUS,
mBatteryStatus, mBatteryHealth, mBatteryPresent ? 1 : 0,
mPlugType, mBatteryTechnology);
}
if (mBatteryLevel != mLastBatteryLevel ||
mBatteryVoltage != mLastBatteryVoltage ||
mBatteryTemperature != mLastBatteryTemperature) {
- EventLog.writeEvent(LOG_BATTERY_LEVEL,
+ EventLog.writeEvent(EventLogTags.BATTERY_LEVEL,
mBatteryLevel, mBatteryVoltage, mBatteryTemperature);
}
if (mBatteryLevel != mLastBatteryLevel && mPlugType == BATTERY_PLUGGED_NONE) {
// If the battery level has changed and we are on battery, update the current level.
- // This is used for discharge cycle tracking so this shouldn't be updated while the
+ // This is used for discharge cycle tracking so this shouldn't be updated while the
// battery is charging.
try {
mBatteryStats.recordCurrentLevel(mBatteryLevel);
@@ -271,7 +267,7 @@ class BatteryService extends Binder {
dischargeDuration = SystemClock.elapsedRealtime() - mDischargeStartTime;
logOutlier = true;
}
-
+
final boolean plugged = mPlugType != BATTERY_PLUGGED_NONE;
final boolean oldPlugged = mLastPlugType != BATTERY_PLUGGED_NONE;
@@ -285,9 +281,9 @@ class BatteryService extends Binder {
&& mBatteryStatus != BatteryManager.BATTERY_STATUS_UNKNOWN
&& mBatteryLevel <= mLowBatteryWarningLevel
&& (oldPlugged || mLastBatteryLevel > mLowBatteryWarningLevel);
-
+
sendIntent();
-
+
// Separate broadcast is sent for power connected / not connected
// since the standard intent will not wake any applications and some
// applications may want to have smart behavior based on this.
@@ -311,12 +307,12 @@ class BatteryService extends Binder {
statusIntent.setAction(Intent.ACTION_BATTERY_OKAY);
mContext.sendBroadcast(statusIntent);
}
-
+
// This needs to be done after sendIntent() so that we get the lastest battery stats.
if (logOutlier && dischargeDuration != 0) {
logOutlier(dischargeDuration);
}
-
+
mLastBatteryStatus = mBatteryStatus;
mLastBatteryHealth = mBatteryHealth;
mLastBatteryPresent = mBatteryPresent;
@@ -337,7 +333,7 @@ class BatteryService extends Binder {
} catch (RemoteException e) {
// Should never happen.
}
-
+
int icon = getIcon(mBatteryLevel);
intent.putExtra(BatteryManager.EXTRA_STATUS, mBatteryStatus);
@@ -353,8 +349,8 @@ class BatteryService extends Binder {
if (false) {
Log.d(TAG, "updateBattery level:" + mBatteryLevel +
- " scale:" + BATTERY_SCALE + " status:" + mBatteryStatus +
- " health:" + mBatteryHealth + " present:" + mBatteryPresent +
+ " scale:" + BATTERY_SCALE + " status:" + mBatteryStatus +
+ " health:" + mBatteryHealth + " present:" + mBatteryPresent +
" voltage: " + mBatteryVoltage +
" temperature: " + mBatteryTemperature +
" technology: " + mBatteryTechnology +
@@ -366,7 +362,7 @@ class BatteryService extends Binder {
}
private final void logBatteryStats() {
-
+
IBinder batteryInfoService = ServiceManager.getService(BATTERY_STATS_SERVICE_NAME);
if (batteryInfoService != null) {
byte[] buffer = new byte[DUMP_MAX_LENGTH];
@@ -385,15 +381,15 @@ class BatteryService extends Binder {
FileInputStream fileInputStream = new FileInputStream(dumpFile);
int nread = fileInputStream.read(buffer, 0, length);
if (nread > 0) {
- Checkin.logEvent(mContext.getContentResolver(),
- Checkin.Events.Tag.BATTERY_DISCHARGE_INFO,
+ Checkin.logEvent(mContext.getContentResolver(),
+ Checkin.Events.Tag.BATTERY_DISCHARGE_INFO,
new String(buffer, 0, nread));
- if (LOCAL_LOGV) Log.v(TAG, "dumped " + nread + "b from " +
+ if (LOCAL_LOGV) Log.v(TAG, "dumped " + nread + "b from " +
batteryInfoService + "to log");
if (LOCAL_LOGV) Log.v(TAG, "actual dump:" + new String(buffer, 0, nread));
}
} catch (RemoteException e) {
- Log.e(TAG, "failed to dump service '" + BATTERY_STATS_SERVICE_NAME +
+ Log.e(TAG, "failed to dump service '" + BATTERY_STATS_SERVICE_NAME +
"':" + e);
} catch (IOException e) {
Log.e(TAG, "failed to write dumpsys file: " + e);
@@ -413,29 +409,29 @@ class BatteryService extends Binder {
}
}
}
-
+
private final void logOutlier(long duration) {
ContentResolver cr = mContext.getContentResolver();
String dischargeThresholdString = Settings.Gservices.getString(cr,
Settings.Gservices.BATTERY_DISCHARGE_THRESHOLD);
String durationThresholdString = Settings.Gservices.getString(cr,
Settings.Gservices.BATTERY_DISCHARGE_DURATION_THRESHOLD);
-
+
if (dischargeThresholdString != null && durationThresholdString != null) {
try {
long durationThreshold = Long.parseLong(durationThresholdString);
int dischargeThreshold = Integer.parseInt(dischargeThresholdString);
- if (duration <= durationThreshold &&
+ if (duration <= durationThreshold &&
mDischargeStartLevel - mBatteryLevel >= dischargeThreshold) {
// If the discharge cycle is bad enough we want to know about it.
logBatteryStats();
}
- if (LOCAL_LOGV) Log.v(TAG, "duration threshold: " + durationThreshold +
+ if (LOCAL_LOGV) Log.v(TAG, "duration threshold: " + durationThreshold +
" discharge threshold: " + dischargeThreshold);
- if (LOCAL_LOGV) Log.v(TAG, "duration: " + duration + " discharge: " +
+ if (LOCAL_LOGV) Log.v(TAG, "duration: " + duration + " discharge: " +
(mDischargeStartLevel - mBatteryLevel));
} catch (NumberFormatException e) {
- Log.e(TAG, "Invalid DischargeThresholds GService string: " +
+ Log.e(TAG, "Invalid DischargeThresholds GService string: " +
durationThresholdString + " or " + dischargeThresholdString);
return;
}
@@ -458,7 +454,7 @@ class BatteryService extends Binder {
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
!= PackageManager.PERMISSION_GRANTED) {
-
+
pw.println("Permission Denial: can't dump Battery service from from pid="
+ Binder.getCallingPid()
+ ", uid=" + Binder.getCallingUid());
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index a91635e..676e5f6 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -56,9 +56,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
private static final boolean DBG = true;
private static final String TAG = "ConnectivityService";
- // Event log tags (must be in sync with event-log-tags)
- private static final int EVENTLOG_CONNECTIVITY_STATE_CHANGED = 50020;
-
// how long to wait before switching back to a radio's default network
private static final int RESTORE_DEFAULT_NETWORK_DELAY = 1 * 60 * 1000;
// system property that can override the above value
@@ -1230,7 +1227,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
int eventLogParam = (info.getType() & 0x7) |
((info.getDetailedState().ordinal() & 0x3f) << 3) |
(info.getSubtype() << 9);
- EventLog.writeEvent(EVENTLOG_CONNECTIVITY_STATE_CHANGED,
+ EventLog.writeEvent(EventLogTags.CONNECTIVITY_STATE_CHANGED,
eventLogParam);
if (info.getDetailedState() ==
diff --git a/services/java/com/android/server/DeviceStorageMonitorService.java b/services/java/com/android/server/DeviceStorageMonitorService.java
index 57af029..8e54c6e 100644
--- a/services/java/com/android/server/DeviceStorageMonitorService.java
+++ b/services/java/com/android/server/DeviceStorageMonitorService.java
@@ -63,9 +63,6 @@ class DeviceStorageMonitorService extends Binder {
private static final int LOW_MEMORY_NOTIFICATION_ID = 1;
private static final int DEFAULT_THRESHOLD_PERCENTAGE = 10;
private static final int DEFAULT_FREE_STORAGE_LOG_INTERVAL_IN_MINUTES = 12*60; //in minutes
- private static final int EVENT_LOG_STORAGE_BELOW_THRESHOLD = 2744;
- private static final int EVENT_LOG_LOW_STORAGE_NOTIFICATION = 2745;
- private static final int EVENT_LOG_FREE_STORAGE_LEFT = 2746;
private static final long DEFAULT_DISK_FREE_CHANGE_REPORTING_THRESHOLD = 2 * 1024 * 1024; // 2MB
private static final long DEFAULT_CHECK_INTERVAL = MONITOR_INTERVAL*60*1000;
private long mFreeMem; // on /data
@@ -159,7 +156,7 @@ class DeviceStorageMonitorService extends Binder {
// ignore; report -1
}
mCacheFileStats.restat(CACHE_PATH);
- EventLog.writeEvent(EVENT_LOG_FREE_STORAGE_LEFT,
+ EventLog.writeEvent(EventLogTags.FREE_STORAGE_LEFT,
mFreeMem, mFreeSystem, mFreeCache);
}
// Read the reporting threshold from Gservices
@@ -170,7 +167,7 @@ class DeviceStorageMonitorService extends Binder {
long delta = mFreeMem - mLastReportedFreeMem;
if (delta > threshold || delta < -threshold) {
mLastReportedFreeMem = mFreeMem;
- EventLog.writeEvent(EVENT_LOG_STORAGE_BELOW_THRESHOLD, mFreeMem);
+ EventLog.writeEvent(EventLogTags.FREE_STORAGE_CHANGED, mFreeMem);
}
}
@@ -292,7 +289,7 @@ class DeviceStorageMonitorService extends Binder {
private final void sendNotification() {
if(localLOGV) Log.i(TAG, "Sending low memory notification");
//log the event to event log with the amount of free storage(in bytes) left on the device
- EventLog.writeEvent(EVENT_LOG_LOW_STORAGE_NOTIFICATION, mFreeMem);
+ EventLog.writeEvent(EventLogTags.LOW_STORAGE, mFreeMem);
// Pack up the values and broadcast them to everyone
Intent lowMemIntent = new Intent(Intent.ACTION_MANAGE_PACKAGE_STORAGE);
lowMemIntent.putExtra("memory", mFreeMem);
diff --git a/services/java/com/android/server/EventLogTags.logtags b/services/java/com/android/server/EventLogTags.logtags
new file mode 100644
index 0000000..5429c0c
--- /dev/null
+++ b/services/java/com/android/server/EventLogTags.logtags
@@ -0,0 +1,139 @@
+# See system/core/logcat/event.logtags for a description of the format of this file.
+
+option java_package com.android.server
+
+# ---------------------------
+# BatteryService.java
+# ---------------------------
+2722 battery_level (level|1|6),(voltage|1|1),(temperature|1|1)
+2723 battery_status (status|1|5),(health|1|5),(present|1|5),(plugged|1|5),(technology|3)
+# This is logged when battery goes from discharging to charging.
+# It lets us count the total amount of time between charges and the discharge level
+2730 battery_discharge (duration|2|3),(minLevel|1|6),(maxLevel|1|6)
+
+
+# ---------------------------
+# PowerManagerService.java
+# ---------------------------
+# This is logged when the device is being forced to sleep (typically by
+# the user pressing the power button).
+2724 power_sleep_requested (wakeLocksCleared|1|1)
+# This is logged when the screen on broadcast has completed
+2725 power_screen_broadcast_send (wakelockCount|1|1)
+# This is logged when the screen broadcast has completed
+2726 power_screen_broadcast_done (on|1|5),(broadcastDuration|2|3),(wakelockCount|1|1)
+# This is logged when the screen on broadcast has completed
+2727 power_screen_broadcast_stop (which|1|5),(wakelockCount|1|1)
+# This is logged when the screen is turned on or off.
+2728 power_screen_state (offOrOn|1|5),(becauseOfUser|1|5),(totalTouchDownTime|2|3),(touchCycles|1|1)
+# This is logged when the partial wake lock (keeping the device awake
+# regardless of whether the screen is off) is acquired or released.
+2729 power_partial_wake_state (releasedorAcquired|1|5),(tag|3)
+
+#
+# Leave IDs through 2739 for more power logs (2730 used by battery_discharge above)
+#
+
+
+# ---------------------------
+# DeviceStorageMonitoryService.java
+# ---------------------------
+# The disk space free on the /data partition, in bytes
+2744 free_storage_changed (data|2|2)
+# Device low memory notification and disk space free on the /data partition, in bytes at that time
+2745 low_storage (data|2|2)
+# disk space free on the /data, /system, and /cache partitions in bytes
+2746 free_storage_left (data|2|2),(system|2|2),(cache|2|2)
+
+
+# ---------------------------
+# NotificationManagerService.java
+# ---------------------------
+# when a NotificationManager.notify is called
+2750 notification_enqueue (pkg|3),(id|1|5),(notification|3)
+# when someone tries to cancel a notification, the notification manager sometimes
+# calls this with flags too
+2751 notification_cancel (pkg|3),(id|1|5),(required_flags|1)
+# when someone tries to cancel all of the notifications for a particular package
+2752 notification_cancel_all (pkg|3),(required_flags|1)
+
+
+# ---------------------------
+# Watchdog.java
+# ---------------------------
+2802 watchdog (Service|3)
+2803 watchdog_proc_pss (Process|3),(Pid|1|5),(Pss|1|2)
+2804 watchdog_soft_reset (Process|3),(Pid|1|5),(MaxPss|1|2),(Pss|1|2),(Skip|3)
+2805 watchdog_hard_reset (Process|3),(Pid|1|5),(MaxPss|1|2),(Pss|1|2)
+2806 watchdog_pss_stats (EmptyPss|1|2),(EmptyCount|1|1),(BackgroundPss|1|2),(BackgroundCount|1|1),(ServicePss|1|2),(ServiceCount|1|1),(VisiblePss|1|2),(VisibleCount|1|1),(ForegroundPss|1|2),(ForegroundCount|1|1),(NoPssCount|1|1)
+2807 watchdog_proc_stats (DeathsInOne|1|1),(DeathsInTwo|1|1),(DeathsInThree|1|1),(DeathsInFour|1|1),(DeathsInFive|1|1)
+2808 watchdog_scheduled_reboot (Now|2|1),(Interval|1|3),(StartTime|1|3),(Window|1|3),(Skip|3)
+2809 watchdog_meminfo (MemFree|1|2),(Buffers|1|2),(Cached|1|2),(Active|1|2),(Inactive|1|2),(AnonPages|1|2),(Mapped|1|2),(Slab|1|2),(SReclaimable|1|2),(SUnreclaim|1|2),(PageTables|1|2)
+2810 watchdog_vmstat (runtime|2|3),(pgfree|1|1),(pgactivate|1|1),(pgdeactivate|1|1),(pgfault|1|1),(pgmajfault|1|1)
+2811 watchdog_requested_reboot (NoWait|1|1),(ScheduleInterval|1|3),(RecheckInterval|1|3),(StartTime|1|3),(Window|1|3),(MinScreenOff|1|3),(MinNextAlarm|1|3)
+
+
+# ---------------------------
+# BackupManagerService.java
+# ---------------------------
+2820 backup_data_changed (Package|3)
+2821 backup_start (Transport|3)
+2822 backup_transport_failure (Package|3)
+2823 backup_agent_failure (Package|3),(Message|3)
+2824 backup_package (Package|3),(Size|1|2)
+2825 backup_success (Packages|1|1),(Time|1|3)
+2826 backup_reset (Transport|3)
+2827 backup_initialize
+2830 restore_start (Transport|3),(Source|2|5)
+2831 restore_transport_failure
+2832 restore_agent_failure (Package|3),(Message|3)
+2833 restore_package (Package|3),(Size|1|2)
+2834 restore_success (Packages|1|1),(Time|1|3)
+
+
+# ---------------------------
+# SystemServer.java
+# ---------------------------
+# SystemServer.run() starts:
+3010 boot_progress_system_run (time|2|3)
+
+
+# ---------------------------
+# PackageManagerService.java
+# ---------------------------
+# Package Manager starts:
+3060 boot_progress_pms_start (time|2|3)
+# Package Manager .apk scan starts:
+3070 boot_progress_pms_system_scan_start (time|2|3)
+# Package Manager .apk scan starts:
+3080 boot_progress_pms_data_scan_start (time|2|3)
+# Package Manager .apk scan ends:
+3090 boot_progress_pms_scan_end (time|2|3)
+# Package Manager ready:
+3100 boot_progress_pms_ready (time|2|3)
+# + check activity_launch_time for Home app
+
+
+# ---------------------------
+# WindowManagerService.java
+# ---------------------------
+# Out of memory for surfaces.
+31000 wm_no_surface_memory (Window|3),(PID|1|5),(Operation|3)
+
+
+# ---------------------------
+# InputMethodManagerService.java
+# ---------------------------
+# Re-connecting to input method service because we haven't received its interface
+32000 imf_force_reconnect_ime (IME|4),(Time Since Connect|2|3),(Showing|1|1)
+
+
+# ---------------------------
+# ConnectivityService.java
+# ---------------------------
+# Connectivity state changed:
+# [31-13] Reserved for future use
+# [12- 9] Network subtype (for mobile network, as defined by TelephonyManager)
+# [ 8- 3] Detailed state ordinal (as defined by NetworkInfo.DetailedState)
+# [ 2- 0] Network type (as defined by ConnectivityManager)
+50020 connectivity_state_changed (custom|1|5)
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java
index e2e0ba9..a64cb1a 100644
--- a/services/java/com/android/server/InputMethodManagerService.java
+++ b/services/java/com/android/server/InputMethodManagerService.java
@@ -1,12 +1,12 @@
/*
* Copyright (C) 2006-2008 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
@@ -89,24 +89,22 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
static final String TAG = "InputManagerService";
static final int MSG_SHOW_IM_PICKER = 1;
-
+
static final int MSG_UNBIND_INPUT = 1000;
static final int MSG_BIND_INPUT = 1010;
static final int MSG_SHOW_SOFT_INPUT = 1020;
static final int MSG_HIDE_SOFT_INPUT = 1030;
static final int MSG_ATTACH_TOKEN = 1040;
static final int MSG_CREATE_SESSION = 1050;
-
+
static final int MSG_START_INPUT = 2000;
static final int MSG_RESTART_INPUT = 2010;
-
+
static final int MSG_UNBIND_METHOD = 3000;
static final int MSG_BIND_METHOD = 3010;
-
+
static final long TIME_TO_RECONNECT = 10*1000;
-
- static final int LOG_IMF_FORCE_RECONNECT_IME = 32000;
-
+
final Context mContext;
final Handler mHandler;
final SettingsObserver mSettingsObserver;
@@ -115,9 +113,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
final IconData mInputMethodData;
final IWindowManager mIWindowManager;
final HandlerCaller mCaller;
-
+
final InputBindResult mNoBinding = new InputBindResult(null, null, -1);
-
+
// All known input methods. mMethodMap also serves as the global
// lock for this class.
final ArrayList<InputMethodInfo> mMethodList
@@ -127,12 +125,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
final TextUtils.SimpleStringSplitter mStringColonSplitter
= new TextUtils.SimpleStringSplitter(':');
-
+
class SessionState {
final ClientState client;
final IInputMethod method;
final IInputMethodSession session;
-
+
@Override
public String toString() {
return "SessionState{uid " + client.uid + " pid " + client.pid
@@ -150,17 +148,17 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
session = _session;
}
}
-
+
class ClientState {
final IInputMethodClient client;
final IInputContext inputContext;
final int uid;
final int pid;
final InputBinding binding;
-
+
boolean sessionRequested;
SessionState curSession;
-
+
@Override
public String toString() {
return "ClientState{" + Integer.toHexString(
@@ -177,122 +175,122 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
binding = new InputBinding(null, inputContext.asBinder(), uid, pid);
}
}
-
+
final HashMap<IBinder, ClientState> mClients
= new HashMap<IBinder, ClientState>();
-
+
/**
* Set once the system is ready to run third party code.
*/
boolean mSystemReady;
-
+
/**
* Id of the currently selected input method.
*/
String mCurMethodId;
-
+
/**
* The current binding sequence number, incremented every time there is
* a new bind performed.
*/
int mCurSeq;
-
+
/**
* The client that is currently bound to an input method.
*/
ClientState mCurClient;
-
+
/**
* The last window token that gained focus.
*/
IBinder mCurFocusedWindow;
-
+
/**
* The input context last provided by the current client.
*/
IInputContext mCurInputContext;
-
+
/**
* The attributes last provided by the current client.
*/
EditorInfo mCurAttribute;
-
+
/**
* The input method ID of the input method service that we are currently
* connected to or in the process of connecting to.
*/
String mCurId;
-
+
/**
* Set to true if our ServiceConnection is currently actively bound to
* a service (whether or not we have gotten its IBinder back yet).
*/
boolean mHaveConnection;
-
+
/**
* Set if the client has asked for the input method to be shown.
*/
boolean mShowRequested;
-
+
/**
* Set if we were explicitly told to show the input method.
*/
boolean mShowExplicitlyRequested;
-
+
/**
* Set if we were forced to be shown.
*/
boolean mShowForced;
-
+
/**
* Set if we last told the input method to show itself.
*/
boolean mInputShown;
-
+
/**
* The Intent used to connect to the current input method.
*/
Intent mCurIntent;
-
+
/**
* The token we have made for the currently active input method, to
* identify it in the future.
*/
IBinder mCurToken;
-
+
/**
* If non-null, this is the input method service we are currently connected
* to.
*/
IInputMethod mCurMethod;
-
+
/**
* Time that we last initiated a bind to the input method, to determine
* if we should try to disconnect and reconnect to it.
*/
long mLastBindTime;
-
+
/**
* Have we called mCurMethod.bindInput()?
*/
boolean mBoundToMethod;
-
+
/**
* Currently enabled session. Only touched by service thread, not
* protected by a lock.
*/
SessionState mEnabledSession;
-
+
/**
* True if the screen is on. The value is true initially.
*/
boolean mScreenOn = true;
-
+
AlertDialog.Builder mDialogBuilder;
AlertDialog mSwitchingDialog;
InputMethodInfo[] mIms;
CharSequence[] mItems;
-
+
class SettingsObserver extends ContentObserver {
SettingsObserver(Handler handler) {
super(handler);
@@ -300,14 +298,14 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
resolver.registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.DEFAULT_INPUT_METHOD), false, this);
}
-
+
@Override public void onChange(boolean selfChange) {
synchronized (mMethodMap) {
updateFromSettingsLocked();
}
}
}
-
+
class ScreenOnOffReceiver extends android.content.BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
@@ -333,13 +331,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
class PackageReceiver extends android.content.BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
synchronized (mMethodMap) {
buildInputMethodListLocked(mMethodList, mMethodMap);
-
+
InputMethodInfo curIm = null;
String curInputMethodId = Settings.Secure.getString(context
.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
@@ -351,9 +349,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
boolean changed = false;
-
+
Uri uri = intent.getData();
String pkg = uri != null ? uri.getSchemeSpecificPart() : null;
if (curIm != null && curIm.getPackageName().equals(pkg)) {
@@ -377,27 +375,27 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
curInputMethodId);
}
}
-
+
} else if (curIm == null) {
// We currently don't have a default input method... is
// one now available?
changed = chooseNewDefaultIME();
}
-
+
if (changed) {
updateFromSettingsLocked();
}
}
}
}
-
+
class MethodCallback extends IInputMethodCallback.Stub {
final IInputMethod mMethod;
-
+
MethodCallback(IInputMethod method) {
mMethod = method;
}
-
+
public void finishedEvent(int seq, boolean handled) throws RemoteException {
}
@@ -405,7 +403,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
onSessionCreated(mMethod, session);
}
}
-
+
public InputMethodManagerService(Context context, StatusBarService statusBar) {
mContext = context;
mHandler = new Handler(this);
@@ -416,7 +414,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
handleMessage(msg);
}
});
-
+
IntentFilter packageFilt = new IntentFilter();
packageFilt.addAction(Intent.ACTION_PACKAGE_ADDED);
packageFilt.addAction(Intent.ACTION_PACKAGE_CHANGED);
@@ -424,13 +422,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
packageFilt.addAction(Intent.ACTION_PACKAGE_RESTARTED);
packageFilt.addDataScheme("package");
mContext.registerReceiver(new PackageReceiver(), packageFilt);
-
+
IntentFilter screenOnOffFilt = new IntentFilter();
screenOnOffFilt.addAction(Intent.ACTION_SCREEN_ON);
screenOnOffFilt.addAction(Intent.ACTION_SCREEN_OFF);
screenOnOffFilt.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
mContext.registerReceiver(new ScreenOnOffReceiver(), screenOnOffFilt);
-
+
buildInputMethodListLocked(mMethodList, mMethodMap);
final String enabledStr = Settings.Secure.getString(
@@ -471,12 +469,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
Settings.Secure.DEFAULT_INPUT_METHOD, defIm.getId());
}
}
-
+
mStatusBar = statusBar;
mInputMethodData = IconData.makeIcon("ime", null, 0, 0, 0);
mInputMethodIcon = statusBar.addIcon(mInputMethodData, null);
statusBar.setIconVisibility(mInputMethodIcon, false);
-
+
mSettingsObserver = new SettingsObserver(mHandler);
updateFromSettingsLocked();
}
@@ -508,7 +506,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
public List<InputMethodInfo> getInputMethodList() {
synchronized (mMethodMap) {
return new ArrayList<InputMethodInfo>(mMethodList);
@@ -523,14 +521,14 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
List<InputMethodInfo> getEnabledInputMethodListLocked() {
final ArrayList<InputMethodInfo> res = new ArrayList<InputMethodInfo>();
-
+
final String enabledStr = Settings.Secure.getString(
mContext.getContentResolver(),
Settings.Secure.ENABLED_INPUT_METHODS);
if (enabledStr != null) {
final TextUtils.SimpleStringSplitter splitter = mStringColonSplitter;
splitter.setString(enabledStr);
-
+
while (splitter.hasNext()) {
InputMethodInfo info = mMethodMap.get(splitter.next());
if (info != null) {
@@ -538,7 +536,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
return res;
}
@@ -549,13 +547,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
inputContext, uid, pid));
}
}
-
+
public void removeClient(IInputMethodClient client) {
synchronized (mMethodMap) {
mClients.remove(client.asBinder());
}
}
-
+
void executeOrSendMessage(IInterface target, Message msg) {
if (target.asBinder() instanceof Binder) {
mCaller.sendMessage(msg);
@@ -564,7 +562,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
msg.recycle();
}
}
-
+
void unbindCurrentClientLocked() {
if (mCurClient != null) {
if (DEBUG) Log.v(TAG, "unbindCurrentInputLocked: client = "
@@ -579,7 +577,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
executeOrSendMessage(mCurClient.client, mCaller.obtainMessageIO(
MSG_UNBIND_METHOD, mCurSeq, mCurClient.client));
mCurClient.sessionRequested = false;
-
+
// Call setActive(false) on the old client
try {
mCurClient.client.setActive(false);
@@ -588,11 +586,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
+ mCurClient.pid + " uid " + mCurClient.uid);
}
mCurClient = null;
-
+
hideInputMethodMenuLocked();
}
}
-
+
private int getImeShowFlags() {
int flags = 0;
if (mShowForced) {
@@ -603,7 +601,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
return flags;
}
-
+
private int getAppShowFlags() {
int flags = 0;
if (mShowForced) {
@@ -613,7 +611,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
return flags;
}
-
+
InputBindResult attachNewInputLocked(boolean initial, boolean needResult) {
if (!mBoundToMethod) {
executeOrSendMessage(mCurMethod, mCaller.obtainMessageOO(
@@ -636,7 +634,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
? new InputBindResult(session.session, mCurId, mCurSeq)
: null;
}
-
+
InputBindResult startInputLocked(IInputMethodClient client,
IInputContext inputContext, EditorInfo attribute,
boolean initial, boolean needResult) {
@@ -644,13 +642,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
if (mCurMethodId == null) {
return mNoBinding;
}
-
+
ClientState cs = mClients.get(client.asBinder());
if (cs == null) {
throw new IllegalArgumentException("unknown client "
+ client.asBinder());
}
-
+
try {
if (!mIWindowManager.inputMethodClientHasFocus(cs.client)) {
// Check with the window manager to make sure this client actually
@@ -664,7 +662,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
} catch (RemoteException e) {
}
-
+
if (mCurClient != cs) {
// If the client is changing, we need to switch over to the new
// one.
@@ -682,14 +680,14 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
// Bump up the sequence for this client and attach it.
mCurSeq++;
if (mCurSeq <= 0) mCurSeq = 1;
mCurClient = cs;
mCurInputContext = inputContext;
mCurAttribute = attribute;
-
+
// Check if the input method is changing.
if (mCurId != null && mCurId.equals(mCurMethodId)) {
if (cs.curSession != null) {
@@ -720,33 +718,33 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
// to see if we can get back in touch with the service.
return new InputBindResult(null, mCurId, mCurSeq);
} else {
- EventLog.writeEvent(LOG_IMF_FORCE_RECONNECT_IME, mCurMethodId,
- SystemClock.uptimeMillis()-mLastBindTime, 0);
+ EventLog.writeEvent(EventLogTags.IMF_FORCE_RECONNECT_IME,
+ mCurMethodId, SystemClock.uptimeMillis()-mLastBindTime, 0);
}
}
}
-
+
return startInputInnerLocked();
}
-
+
InputBindResult startInputInnerLocked() {
if (mCurMethodId == null) {
return mNoBinding;
}
-
+
if (!mSystemReady) {
// If the system is not yet ready, we shouldn't be running third
// party code.
return new InputBindResult(null, mCurMethodId, mCurSeq);
}
-
+
InputMethodInfo info = mMethodMap.get(mCurMethodId);
if (info == null) {
throw new IllegalArgumentException("Unknown id: " + mCurMethodId);
}
-
+
unbindCurrentMethodLocked(false);
-
+
mCurIntent = new Intent(InputMethod.SERVICE_INTERFACE);
mCurIntent.setComponent(info.getComponent());
mCurIntent.putExtra(Intent.EXTRA_CLIENT_LABEL,
@@ -772,7 +770,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
return null;
}
-
+
public InputBindResult startInput(IInputMethodClient client,
IInputContext inputContext, EditorInfo attribute,
boolean initial, boolean needResult) {
@@ -786,10 +784,10 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
public void finishInput(IInputMethodClient client) {
}
-
+
public void onServiceConnected(ComponentName name, IBinder service) {
synchronized (mMethodMap) {
if (mCurIntent != null && name.equals(mCurIntent.getComponent())) {
@@ -830,13 +828,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
void unbindCurrentMethodLocked(boolean reportToClient) {
if (mHaveConnection) {
mContext.unbindService(this);
mHaveConnection = false;
}
-
+
if (mCurToken != null) {
try {
if (DEBUG) Log.v(TAG, "Removing window token: " + mCurToken);
@@ -845,16 +843,16 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
mCurToken = null;
}
-
+
mCurId = null;
clearCurMethodLocked();
-
+
if (reportToClient && mCurClient != null) {
executeOrSendMessage(mCurClient.client, mCaller.obtainMessageIO(
MSG_UNBIND_METHOD, mCurSeq, mCurClient.client));
}
}
-
+
void clearCurMethodLocked() {
if (mCurMethod != null) {
for (ClientState cs : mClients.values()) {
@@ -865,7 +863,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
mStatusBar.setIconVisibility(mInputMethodIcon, false);
}
-
+
public void onServiceDisconnected(ComponentName name) {
synchronized (mMethodMap) {
if (DEBUG) Log.v(TAG, "Service disconnected: " + name
@@ -893,7 +891,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
Log.w(TAG, "Ignoring setInputMethod of token: " + token);
return;
}
-
+
synchronized (mMethodMap) {
if (iconId == 0) {
if (DEBUG) Log.d(TAG, "hide the small icon for the input method");
@@ -932,17 +930,17 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
unbindCurrentMethodLocked(true);
}
}
-
+
void setInputMethodLocked(String id) {
InputMethodInfo info = mMethodMap.get(id);
if (info == null) {
throw new IllegalArgumentException("Unknown id: " + mCurMethodId);
}
-
+
if (id.equals(mCurMethodId)) {
return;
}
-
+
final long ident = Binder.clearCallingIdentity();
try {
mCurMethodId = id;
@@ -959,7 +957,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
Binder.restoreCallingIdentity(ident);
}
}
-
+
public boolean showSoftInput(IInputMethodClient client, int flags,
ResultReceiver resultReceiver) {
long ident = Binder.clearCallingIdentity();
@@ -979,7 +977,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
return false;
}
}
-
+
if (DEBUG) Log.v(TAG, "Client requesting input be shown");
return showCurrentInputLocked(flags, resultReceiver);
}
@@ -987,7 +985,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
Binder.restoreCallingIdentity(ident);
}
}
-
+
boolean showCurrentInputLocked(int flags, ResultReceiver resultReceiver) {
mShowRequested = true;
if ((flags&InputMethodManager.SHOW_IMPLICIT) == 0) {
@@ -997,11 +995,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
mShowExplicitlyRequested = true;
mShowForced = true;
}
-
+
if (!mSystemReady) {
return false;
}
-
+
boolean res = false;
if (mCurMethod != null) {
executeOrSendMessage(mCurMethod, mCaller.obtainMessageIOO(
@@ -1015,15 +1013,15 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
// we have been sitting here too long with a connection to the
// service and no interface received, so let's disconnect/connect
// to try to prod things along.
- EventLog.writeEvent(LOG_IMF_FORCE_RECONNECT_IME, mCurMethodId,
+ EventLog.writeEvent(EventLogTags.IMF_FORCE_RECONNECT_IME, mCurMethodId,
SystemClock.uptimeMillis()-mLastBindTime,1);
mContext.unbindService(this);
mContext.bindService(mCurIntent, this, Context.BIND_AUTO_CREATE);
}
-
+
return res;
}
-
+
public boolean hideSoftInput(IInputMethodClient client, int flags,
ResultReceiver resultReceiver) {
long ident = Binder.clearCallingIdentity();
@@ -1043,7 +1041,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
return false;
}
}
-
+
if (DEBUG) Log.v(TAG, "Client requesting input be hidden");
return hideCurrentInputLocked(flags, resultReceiver);
}
@@ -1051,7 +1049,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
Binder.restoreCallingIdentity(ident);
}
}
-
+
boolean hideCurrentInputLocked(int flags, ResultReceiver resultReceiver) {
if ((flags&InputMethodManager.HIDE_IMPLICIT_ONLY) != 0
&& (mShowExplicitlyRequested || mShowForced)) {
@@ -1078,7 +1076,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
mShowForced = false;
return res;
}
-
+
public void windowGainedFocus(IInputMethodClient client, IBinder windowToken,
boolean viewHasFocus, boolean isTextEditor, int softInputMode,
boolean first, int windowFlags) {
@@ -1091,7 +1089,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
+ " softInputMode=#" + Integer.toHexString(softInputMode)
+ " first=" + first + " flags=#"
+ Integer.toHexString(windowFlags));
-
+
if (mCurClient == null || client == null
|| mCurClient.client.asBinder() != client.asBinder()) {
try {
@@ -1105,13 +1103,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
} catch (RemoteException e) {
}
}
-
+
if (mCurFocusedWindow == windowToken) {
Log.w(TAG, "Window already focused, ignoring focus gain of: " + client);
return;
}
mCurFocusedWindow = windowToken;
-
+
switch (softInputMode&WindowManager.LayoutParams.SOFT_INPUT_MASK_STATE) {
case WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED:
if (!isTextEditor || (softInputMode &
@@ -1166,7 +1164,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
Binder.restoreCallingIdentity(ident);
}
}
-
+
public void showInputMethodPickerFromClient(IInputMethodClient client) {
synchronized (mMethodMap) {
if (mCurClient == null || client == null
@@ -1216,7 +1214,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
public void showMySoftInput(IBinder token, int flags) {
synchronized (mMethodMap) {
if (token == null || mCurToken != token) {
@@ -1251,16 +1249,16 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
public boolean handleMessage(Message msg) {
HandlerCaller.SomeArgs args;
switch (msg.what) {
case MSG_SHOW_IM_PICKER:
showInputMethodMenu();
return true;
-
+
// ---------------------------------------------------------
-
+
case MSG_UNBIND_INPUT:
try {
((IInputMethod)msg.obj).unbindInput();
@@ -1308,7 +1306,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
return true;
// ---------------------------------------------------------
-
+
case MSG_START_INPUT:
args = (HandlerCaller.SomeArgs)msg.obj;
try {
@@ -1329,9 +1327,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
} catch (RemoteException e) {
}
return true;
-
+
// ---------------------------------------------------------
-
+
case MSG_UNBIND_METHOD:
try {
((IInputMethodClient)msg.obj).onUnbindMethod(msg.arg1);
@@ -1373,13 +1371,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
HashMap<String, InputMethodInfo> map) {
list.clear();
map.clear();
-
+
PackageManager pm = mContext.getPackageManager();
List<ResolveInfo> services = pm.queryIntentServices(
new Intent(InputMethod.SERVICE_INTERFACE),
PackageManager.GET_META_DATA);
-
+
for (int i = 0; i < services.size(); ++i) {
ResolveInfo ri = services.get(i);
ServiceInfo si = ri.serviceInfo;
@@ -1407,7 +1405,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
if (DEBUG) {
Log.d(TAG, "Found a third-party input method " + p);
}
-
+
} catch (XmlPullParserException e) {
Log.w(TAG, "Unable to load input method " + compName, e);
} catch (IOException e) {
@@ -1423,24 +1421,24 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
// ----------------------------------------------------------------------
-
+
void showInputMethodMenu() {
if (DEBUG) Log.v(TAG, "Show switching menu");
hideInputMethodMenu();
-
+
final Context context = mContext;
-
+
final PackageManager pm = context.getPackageManager();
-
+
String lastInputMethodId = Settings.Secure.getString(context
.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
if (DEBUG) Log.v(TAG, "Current IME: " + lastInputMethodId);
-
+
final List<InputMethodInfo> immis = getEnabledInputMethodList();
-
+
int N = (immis == null ? 0 : immis.size());
mItems = new CharSequence[N];
@@ -1465,7 +1463,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
hideInputMethodMenu();
}
};
-
+
TypedArray a = context.obtainStyledAttributes(null,
com.android.internal.R.styleable.DialogPreference,
com.android.internal.R.attr.alertDialogStyle, 0);
@@ -1479,7 +1477,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
.setIcon(a.getDrawable(
com.android.internal.R.styleable.DialogPreference_dialogTitle));
a.recycle();
-
+
mDialogBuilder.setSingleChoiceItems(mItems, checkedItem,
new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
@@ -1498,13 +1496,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
mSwitchingDialog.show();
}
}
-
+
void hideInputMethodMenu() {
synchronized (mMethodMap) {
hideInputMethodMenuLocked();
}
}
-
+
void hideInputMethodMenuLocked() {
if (DEBUG) Log.v(TAG, "Hide switching menu");
@@ -1512,14 +1510,14 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
mSwitchingDialog.dismiss();
mSwitchingDialog = null;
}
-
+
mDialogBuilder = null;
mItems = null;
mIms = null;
}
-
+
// ----------------------------------------------------------------------
-
+
public boolean setInputMethodEnabled(String id, boolean enabled) {
synchronized (mMethodMap) {
if (mContext.checkCallingOrSelfPermission(
@@ -1529,7 +1527,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
"Requires permission "
+ android.Manifest.permission.WRITE_SECURE_SETTINGS);
}
-
+
long ident = Binder.clearCallingIdentity();
try {
// Make sure this is a valid input method.
@@ -1539,12 +1537,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
throw new IllegalArgumentException("Unknown id: " + mCurMethodId);
}
}
-
+
StringBuilder builder = new StringBuilder(256);
-
+
boolean removed = false;
String firstId = null;
-
+
// Look through the currently enabled input methods.
String enabledStr = Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.ENABLED_INPUT_METHODS);
@@ -1573,7 +1571,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
}
-
+
if (!enabled) {
if (!removed) {
// We are disabling the input method but it is already
@@ -1596,17 +1594,17 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
// Previous state was enabled.
return true;
}
-
+
// Add in the newly enabled input method.
if (enabledStr == null || enabledStr.length() == 0) {
enabledStr = id;
} else {
enabledStr = enabledStr + ':' + id;
}
-
+
Settings.Secure.putString(mContext.getContentResolver(),
Settings.Secure.ENABLED_INPUT_METHODS, enabledStr);
-
+
// Previous state was disabled.
return false;
} finally {
@@ -1616,12 +1614,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
// ----------------------------------------------------------------------
-
+
@Override
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
!= PackageManager.PERMISSION_GRANTED) {
-
+
pw.println("Permission Denial: can't dump InputMethodManager from from pid="
+ Binder.getCallingPid()
+ ", uid=" + Binder.getCallingUid());
@@ -1630,9 +1628,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
IInputMethod method;
ClientState client;
-
+
final Printer p = new PrintWriterPrinter(pw);
-
+
synchronized (mMethodMap) {
p.println("Current Input Method Manager state:");
int N = mMethodList.size();
@@ -1669,7 +1667,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
+ " mInputShown=" + mInputShown);
p.println(" mSystemReady=" + mSystemReady + " mScreenOn=" + mScreenOn);
}
-
+
if (client != null) {
p.println(" ");
pw.flush();
@@ -1679,7 +1677,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
p.println("Input method client dead: " + e);
}
}
-
+
if (method != null) {
p.println(" ");
pw.flush();
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java
index 147580b..436a60e 100755
--- a/services/java/com/android/server/NotificationManagerService.java
+++ b/services/java/com/android/server/NotificationManagerService.java
@@ -75,8 +75,8 @@ class NotificationManagerService extends INotificationManager.Stub
private static final int LONG_DELAY = 3500; // 3.5 seconds
private static final int SHORT_DELAY = 2000; // 2 seconds
-
- private static final long[] DEFAULT_VIBRATE_PATTERN = {0, 250, 250, 250};
+
+ private static final long[] DEFAULT_VIBRATE_PATTERN = {0, 250, 250, 250};
private static final int DEFAULT_STREAM_TYPE = AudioManager.STREAM_NOTIFICATION;
@@ -108,7 +108,7 @@ class NotificationManagerService extends INotificationManager.Stub
private boolean mAdbEnabled = false;
private boolean mAdbNotificationShown = false;
private Notification mAdbNotification;
-
+
private final ArrayList<NotificationRecord> mNotificationList =
new ArrayList<NotificationRecord>();
@@ -127,11 +127,6 @@ class NotificationManagerService extends INotificationManager.Stub
private static final int BATTERY_BLINK_ON = 125;
private static final int BATTERY_BLINK_OFF = 2875;
- // Tag IDs for EventLog.
- private static final int EVENT_LOG_ENQUEUE = 2750;
- private static final int EVENT_LOG_CANCEL = 2751;
- private static final int EVENT_LOG_CANCEL_ALL = 2752;
-
private static String idDebugString(Context baseContext, String packageName, int id) {
Context c = null;
@@ -191,7 +186,7 @@ class NotificationManagerService extends INotificationManager.Stub
+ " ledOnMS=" + notification.ledOnMS
+ " ledOffMS=" + notification.ledOffMS);
}
-
+
@Override
public final String toString()
{
@@ -221,11 +216,11 @@ class NotificationManagerService extends INotificationManager.Stub
void update(int duration) {
this.duration = duration;
}
-
+
void dump(PrintWriter pw, String prefix) {
pw.println(prefix + this);
}
-
+
@Override
public final String toString()
{
@@ -354,7 +349,7 @@ class NotificationManagerService extends INotificationManager.Stub
SettingsObserver(Handler handler) {
super(handler);
}
-
+
void observe() {
ContentResolver resolver = mContext.getContentResolver();
resolver.registerContentObserver(Settings.Secure.getUriFor(
@@ -422,7 +417,7 @@ class NotificationManagerService extends INotificationManager.Stub
filter.addAction(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
mContext.registerReceiver(mIntentReceiver, filter);
-
+
SettingsObserver observer = new SettingsObserver(mHandler);
observer.observe();
}
@@ -621,12 +616,12 @@ class NotificationManagerService extends INotificationManager.Stub
Notification notification, int[] idOut)
{
checkIncomingCall(pkg);
-
+
// This conditional is a dirty hack to limit the logging done on
// behalf of the download manager without affecting other apps.
if (!pkg.equals("com.android.providers.downloads")
|| Log.isLoggable("DownloadManager", Log.VERBOSE)) {
- EventLog.writeEvent(EVENT_LOG_ENQUEUE, pkg, id, notification.toString());
+ EventLog.writeEvent(EventLogTags.NOTIFICATION_ENQUEUE, pkg, id, notification.toString());
}
if (pkg == null || notification == null) {
@@ -660,20 +655,20 @@ class NotificationManagerService extends INotificationManager.Stub
old.notification.flags&Notification.FLAG_FOREGROUND_SERVICE;
}
}
-
+
// Ensure if this is a foreground service that the proper additional
// flags are set.
if ((notification.flags&Notification.FLAG_FOREGROUND_SERVICE) != 0) {
notification.flags |= Notification.FLAG_ONGOING_EVENT
| Notification.FLAG_NO_CLEAR;
}
-
+
if (notification.icon != 0) {
IconData icon = IconData.makeIcon(null, pkg, notification.icon,
notification.iconLevel,
notification.number);
CharSequence truncatedTicker = notification.tickerText;
-
+
// TODO: make this restriction do something smarter like never fill
// more than two screens. "Why would anyone need more than 80 characters." :-/
final int maxTickerLen = 80;
@@ -738,7 +733,7 @@ class NotificationManagerService extends INotificationManager.Stub
.getSystemService(Context.AUDIO_SERVICE);
// sound
final boolean useDefaultSound =
- (notification.defaults & Notification.DEFAULT_SOUND) != 0;
+ (notification.defaults & Notification.DEFAULT_SOUND) != 0;
if (useDefaultSound || notification.sound != null) {
Uri uri;
if (useDefaultSound) {
@@ -769,12 +764,12 @@ class NotificationManagerService extends INotificationManager.Stub
// vibrate
final boolean useDefaultVibrate =
- (notification.defaults & Notification.DEFAULT_VIBRATE) != 0;
+ (notification.defaults & Notification.DEFAULT_VIBRATE) != 0;
if ((useDefaultVibrate || notification.vibrate != null)
&& audioManager.shouldVibrate(AudioManager.VIBRATE_TYPE_NOTIFICATION)) {
mVibrateNotification = r;
- mVibrator.vibrate(useDefaultVibrate ? DEFAULT_VIBRATE_PATTERN
+ mVibrator.vibrate(useDefaultVibrate ? DEFAULT_VIBRATE_PATTERN
: notification.vibrate,
((notification.flags & Notification.FLAG_INSISTENT) != 0) ? 0: -1);
}
@@ -869,24 +864,24 @@ class NotificationManagerService extends INotificationManager.Stub
/**
* Cancels a notification ONLY if it has all of the {@code mustHaveFlags}
- * and none of the {@code mustNotHaveFlags}.
+ * and none of the {@code mustNotHaveFlags}.
*/
private void cancelNotification(String pkg, String tag, int id, int mustHaveFlags,
int mustNotHaveFlags) {
- EventLog.writeEvent(EVENT_LOG_CANCEL, pkg, id, mustHaveFlags);
+ EventLog.writeEvent(EventLogTags.NOTIFICATION_CANCEL, pkg, id, mustHaveFlags);
synchronized (mNotificationList) {
int index = indexOfNotificationLocked(pkg, tag, id);
if (index >= 0) {
NotificationRecord r = mNotificationList.get(index);
-
+
if ((r.notification.flags & mustHaveFlags) != mustHaveFlags) {
return;
}
if ((r.notification.flags & mustNotHaveFlags) != 0) {
return;
}
-
+
mNotificationList.remove(index);
cancelNotificationLocked(r);
@@ -901,7 +896,7 @@ class NotificationManagerService extends INotificationManager.Stub
*/
void cancelAllNotificationsInt(String pkg, int mustHaveFlags,
int mustNotHaveFlags) {
- EventLog.writeEvent(EVENT_LOG_CANCEL_ALL, pkg, mustHaveFlags);
+ EventLog.writeEvent(EventLogTags.NOTIFICATION_CANCEL_ALL, pkg, mustHaveFlags);
synchronized (mNotificationList) {
final int N = mNotificationList.size();
@@ -927,7 +922,7 @@ class NotificationManagerService extends INotificationManager.Stub
}
}
-
+
public void cancelNotification(String pkg, int id) {
cancelNotificationWithTag(pkg, null /* tag */, id);
}
@@ -942,7 +937,7 @@ class NotificationManagerService extends INotificationManager.Stub
public void cancelAllNotifications(String pkg) {
checkIncomingCall(pkg);
-
+
// Calling from user space, don't allow the canceling of actively
// running foreground services.
cancelAllNotificationsInt(pkg, 0, Notification.FLAG_FOREGROUND_SERVICE);
@@ -964,7 +959,7 @@ class NotificationManagerService extends INotificationManager.Stub
throw new SecurityException("Unknown package " + pkg);
}
}
-
+
void cancelAll() {
synchronized (mNotificationList) {
final int N = mNotificationList.size();
@@ -1103,14 +1098,14 @@ class NotificationManagerService extends INotificationManager.Stub
intent, 0);
mAdbNotification.setLatestEventInfo(mContext, title, message, pi);
-
+
mAdbNotificationShown = true;
notificationManager.notify(
com.android.internal.R.string.adb_active_notification_title,
mAdbNotification);
}
}
-
+
} else if (mAdbNotificationShown) {
NotificationManager notificationManager = (NotificationManager) mContext
.getSystemService(Context.NOTIFICATION_SERVICE);
@@ -1138,7 +1133,7 @@ class NotificationManagerService extends INotificationManager.Stub
+ ", uid=" + Binder.getCallingUid());
return;
}
-
+
pw.println("Current Notification Manager state:");
int N;
@@ -1152,7 +1147,7 @@ class NotificationManagerService extends INotificationManager.Stub
}
pw.println(" ");
}
-
+
}
synchronized (mNotificationList) {
@@ -1164,7 +1159,7 @@ class NotificationManagerService extends INotificationManager.Stub
}
pw.println(" ");
}
-
+
N = mLights.size();
if (N > 0) {
pw.println(" Lights List:");
@@ -1173,7 +1168,7 @@ class NotificationManagerService extends INotificationManager.Stub
}
pw.println(" ");
}
-
+
pw.println(" mSoundNotification=" + mSoundNotification);
pw.println(" mSound=" + mSound);
pw.println(" mVibrateNotification=" + mVibrateNotification);
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 9382146..3320a53 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -135,12 +135,6 @@ class PackageManagerService extends IPackageManager.Stub {
static final int SCAN_UPDATE_SIGNATURE = 1<<3;
static final int SCAN_FORWARD_LOCKED = 1<<4;
static final int SCAN_NEW_INSTALL = 1<<5;
-
- static final int LOG_BOOT_PROGRESS_PMS_START = 3060;
- static final int LOG_BOOT_PROGRESS_PMS_SYSTEM_SCAN_START = 3070;
- static final int LOG_BOOT_PROGRESS_PMS_DATA_SCAN_START = 3080;
- static final int LOG_BOOT_PROGRESS_PMS_SCAN_END = 3090;
- static final int LOG_BOOT_PROGRESS_PMS_READY = 3100;
final HandlerThread mHandlerThread = new HandlerThread("PackageManager",
Process.THREAD_PRIORITY_BACKGROUND);
@@ -149,7 +143,7 @@ class PackageManagerService extends IPackageManager.Stub {
final int mSdkVersion = Build.VERSION.SDK_INT;
final String mSdkCodename = "REL".equals(Build.VERSION.CODENAME)
? null : Build.VERSION.CODENAME;
-
+
final Context mContext;
final boolean mFactoryTest;
final boolean mNoDexOpt;
@@ -175,7 +169,7 @@ class PackageManagerService extends IPackageManager.Stub {
// Used for priviledge escalation. MUST NOT BE CALLED WITH mPackages
// LOCK HELD. Can be called with mInstallLock held.
final Installer mInstaller;
-
+
final File mFrameworkDir;
final File mSystemAppDir;
final File mAppInstallDir;
@@ -184,14 +178,14 @@ class PackageManagerService extends IPackageManager.Stub {
// Directory containing the private parts (e.g. code and non-resource assets) of forward-locked
// apps.
final File mDrmAppPrivateInstallDir;
-
+
// ----------------------------------------------------------------
-
+
// Lock for state used when installing and doing other long running
// operations. Methods that must be called with this lock held have
// the prefix "LI".
final Object mInstallLock = new Object();
-
+
// These are the directories in the 3rd party applications installed dir
// that we have currently loaded packages from. Keys are the application's
// installed zip file (absolute codePath), and values are Package.
@@ -205,7 +199,7 @@ class PackageManagerService extends IPackageManager.Stub {
final int[] mOutPermissions = new int[3];
// ----------------------------------------------------------------
-
+
// Keys are String (package name), values are Package. This also serves
// as the lock for the global state. Methods that must be called with
// this lock held have the prefix "LP".
@@ -223,19 +217,19 @@ class PackageManagerService extends IPackageManager.Stub {
// etc/permissions.xml file.
final SparseArray<HashSet<String>> mSystemPermissions =
new SparseArray<HashSet<String>>();
-
+
// These are the built-in shared libraries that were read from the
// etc/permissions.xml file.
final HashMap<String, String> mSharedLibraries = new HashMap<String, String>();
-
+
// Temporary for building the final shared libraries for an .apk.
String[] mTmpSharedLibraries = null;
-
+
// These are the features this devices supports that were read from the
// etc/permissions.xml file.
final HashMap<String, FeatureInfo> mAvailableFeatures =
new HashMap<String, FeatureInfo>();
-
+
// All available activities, for your resolving pleasure.
final ActivityIntentResolver mActivities =
new ActivityIntentResolver();
@@ -266,7 +260,7 @@ class PackageManagerService extends IPackageManager.Stub {
// Broadcast actions that are only available to the system.
final HashSet<String> mProtectedBroadcasts = new HashSet<String>();
-
+
boolean mSystemReady;
boolean mSafeMode;
boolean mHasSystemUidErrors;
@@ -344,7 +338,7 @@ class PackageManagerService extends IPackageManager.Stub {
count++;
i++;
}
-
+
String[] res = new String[count];
i=0;
count = 0;
@@ -358,15 +352,15 @@ class PackageManagerService extends IPackageManager.Stub {
res[count] = str.substring(lastI, str.length());
return res;
}
-
+
public PackageManagerService(Context context, boolean factoryTest) {
- EventLog.writeEvent(LOG_BOOT_PROGRESS_PMS_START,
+ EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_START,
SystemClock.uptimeMillis());
-
+
if (mSdkVersion <= 0) {
Log.w(TAG, "**** ro.build.version.sdk not set!");
}
-
+
mContext = context;
mFactoryTest = factoryTest;
mNoDexOpt = "eng".equals(SystemProperties.get("ro.build.type"));
@@ -399,7 +393,7 @@ class PackageManagerService extends IPackageManager.Stub {
mDefParseFlags = 0;
mSeparateProcesses = null;
}
-
+
Installer installer = new Installer();
// Little hacky thing to check if installd is here, to determine
// whether we are running on the simulator and thus need to take
@@ -419,7 +413,7 @@ class PackageManagerService extends IPackageManager.Stub {
synchronized (mPackages) {
mHandlerThread.start();
mHandler = new PackageHandler(mHandlerThread.getLooper());
-
+
File dataDir = Environment.getDataDirectory();
mAppDataDir = new File(dataDir, "data");
mDrmAppPrivateInstallDir = new File(dataDir, "app-private");
@@ -438,24 +432,24 @@ class PackageManagerService extends IPackageManager.Stub {
mRestoredSettings = mSettings.readLP();
long startTime = SystemClock.uptimeMillis();
-
- EventLog.writeEvent(LOG_BOOT_PROGRESS_PMS_SYSTEM_SCAN_START,
+
+ EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_SYSTEM_SCAN_START,
startTime);
-
+
int scanMode = SCAN_MONITOR;
if (mNoDexOpt) {
Log.w(TAG, "Running ENG build: no pre-dexopt!");
- scanMode |= SCAN_NO_DEX;
+ scanMode |= SCAN_NO_DEX;
}
-
+
final HashSet<String> libFiles = new HashSet<String>();
-
+
mFrameworkDir = new File(Environment.getRootDirectory(), "framework");
mDalvikCacheDir = new File(dataDir, "dalvik-cache");
-
+
if (mInstaller != null) {
boolean didDexOpt = false;
-
+
/**
* Out of paranoia, ensure that everything in the boot class
* path has been dexed.
@@ -479,7 +473,7 @@ class PackageManagerService extends IPackageManager.Stub {
} else {
Log.w(TAG, "No BOOTCLASSPATH found!");
}
-
+
/**
* Also ensure all external libraries have had dexopt run on them.
*/
@@ -500,11 +494,11 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
// Gross hack for now: we know this file doesn't contain any
// code, so don't dexopt it to avoid the resulting log spew.
libFiles.add(mFrameworkDir.getPath() + "/framework-res.apk");
-
+
/**
* And there are a number of commands implemented in Java, which
* we currently need to do the dexopt on so that they can be
@@ -535,7 +529,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
if (didDexOpt) {
// If we had to do a dexopt of one of the previous
// things, then something on the system has changed.
@@ -555,7 +549,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
mFrameworkInstallObserver = new AppDirObserver(
mFrameworkDir.getPath(), OBSERVER_EVENTS, true);
mFrameworkInstallObserver.startWatching();
@@ -581,8 +575,8 @@ class PackageManagerService extends IPackageManager.Stub {
}
//delete tmp files
deleteTempPackageFiles();
-
- EventLog.writeEvent(LOG_BOOT_PROGRESS_PMS_DATA_SCAN_START,
+
+ EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_DATA_SCAN_START,
SystemClock.uptimeMillis());
mAppInstallObserver = new AppDirObserver(
mAppInstallDir.getPath(), OBSERVER_EVENTS, false);
@@ -594,7 +588,7 @@ class PackageManagerService extends IPackageManager.Stub {
mDrmAppInstallObserver.startWatching();
scanDirLI(mDrmAppPrivateInstallDir, 0, scanMode | SCAN_FORWARD_LOCKED);
- EventLog.writeEvent(LOG_BOOT_PROGRESS_PMS_SCAN_END,
+ EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_SCAN_END,
SystemClock.uptimeMillis());
Log.i(TAG, "Time to scan packages: "
+ ((SystemClock.uptimeMillis()-startTime)/1000f)
@@ -604,9 +598,9 @@ class PackageManagerService extends IPackageManager.Stub {
mSettings.writeLP();
- EventLog.writeEvent(LOG_BOOT_PROGRESS_PMS_READY,
+ EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_READY,
SystemClock.uptimeMillis());
-
+
// Now after opening every single application zip, make sure they
// are all flushed. Not really needed, but keeps things nice and
// tidy.
@@ -662,7 +656,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (f.getPath().endsWith("etc/permissions/platform.xml")) {
continue;
}
-
+
if (!f.getPath().endsWith(".xml")) {
Log.i(TAG, "Non-xml file " + f + " in " + libraryDir + " directory, ignoring");
continue;
@@ -674,12 +668,12 @@ class PackageManagerService extends IPackageManager.Stub {
readPermissionsFromXml(f);
}
-
+
// Read permissions from .../etc/permissions/platform.xml last so it will take precedence
final File permFile = new File(Environment.getRootDirectory(),
"etc/permissions/platform.xml");
readPermissionsFromXml(permFile);
-
+
StringBuilder sb = new StringBuilder(128);
sb.append("Libs:");
Iterator<String> it = mSharedLibraries.keySet().iterator();
@@ -691,7 +685,7 @@ class PackageManagerService extends IPackageManager.Stub {
sb.append(mSharedLibraries.get(name));
}
Log.i(TAG, sb.toString());
-
+
sb.setLength(0);
sb.append("Features:");
it = mAvailableFeatures.keySet().iterator();
@@ -701,8 +695,8 @@ class PackageManagerService extends IPackageManager.Stub {
}
Log.i(TAG, sb.toString());
}
-
- private void readPermissionsFromXml(File permFile) {
+
+ private void readPermissionsFromXml(File permFile) {
FileReader permReader = null;
try {
permReader = new FileReader(permFile);
@@ -746,7 +740,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
perm = perm.intern();
readPermission(parser, perm);
-
+
} else if ("assign-permission".equals(name)) {
String perm = parser.getAttributeValue(null, "name");
if (perm == null) {
@@ -778,7 +772,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
perms.add(perm);
XmlUtils.skipCurrentTag(parser);
-
+
} else if ("library".equals(name)) {
String lname = parser.getAttributeValue(null, "name");
String lfile = parser.getAttributeValue(null, "file");
@@ -794,7 +788,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
XmlUtils.skipCurrentTag(parser);
continue;
-
+
} else if ("feature".equals(name)) {
String fname = parser.getAttributeValue(null, "name");
if (fname == null) {
@@ -808,7 +802,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
XmlUtils.skipCurrentTag(parser);
continue;
-
+
} else {
XmlUtils.skipCurrentTag(parser);
continue;
@@ -967,14 +961,14 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
if (out.size() > 0) {
return out;
}
return mPermissionGroups.containsKey(group) ? out : null;
}
}
-
+
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) {
synchronized (mPackages) {
return PackageParser.generatePermissionGroupInfo(
@@ -993,7 +987,7 @@ class PackageManagerService extends IPackageManager.Stub {
return out;
}
}
-
+
private ApplicationInfo generateApplicationInfoFromSettingsLP(String packageName, int flags) {
PackageSetting ps = mSettings.mPackages.get(packageName);
if(ps != null) {
@@ -1008,7 +1002,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return null;
}
-
+
private PackageInfo generatePackageInfoFromSettingsLP(String packageName, int flags) {
PackageSetting ps = mSettings.mPackages.get(packageName);
if(ps != null) {
@@ -1020,7 +1014,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return null;
}
-
+
public ApplicationInfo getApplicationInfo(String packageName, int flags) {
synchronized (mPackages) {
PackageParser.Package p = mPackages.get(packageName);
@@ -1040,8 +1034,8 @@ class PackageManagerService extends IPackageManager.Stub {
}
return null;
}
-
-
+
+
public void freeStorageAndNotify(final long freeStorageSize, final IPackageDataObserver observer) {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.CLEAR_APP_CACHE, null);
@@ -1094,7 +1088,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
});
}
-
+
public ActivityInfo getActivityInfo(ComponentName component, int flags) {
synchronized (mPackages) {
PackageParser.Activity a = mActivities.mActivities.get(component);
@@ -1133,7 +1127,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return null;
}
-
+
public String[] getSystemSharedLibraryNames() {
Set<String> libSet;
synchronized (mPackages) {
@@ -1171,7 +1165,7 @@ class PackageManagerService extends IPackageManager.Stub {
return mAvailableFeatures.containsKey(name);
}
}
-
+
public int checkPermission(String permName, String pkgName) {
synchronized (mPackages) {
PackageParser.Package p = mPackages.get(pkgName);
@@ -1290,7 +1284,7 @@ class PackageManagerService extends IPackageManager.Stub {
return mProtectedBroadcasts.contains(actionName);
}
}
-
+
public int checkSignatures(String pkg1, String pkg2) {
synchronized (mPackages) {
PackageParser.Package p1 = mPackages.get(pkg1);
@@ -1395,7 +1389,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return null;
}
-
+
public int getUidForSharedUser(String sharedUserName) {
if(sharedUserName == null) {
return -1;
@@ -1721,7 +1715,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return list;
}
-
+
synchronized (mPackages) {
String pkgName = intent.getPackage();
if (pkgName == null) {
@@ -1779,7 +1773,7 @@ class PackageManagerService extends IPackageManager.Stub {
return null;
}
}
-
+
public List<PackageInfo> getInstalledPackages(int flags) {
ArrayList<PackageInfo> finalList = new ArrayList<PackageInfo>();
@@ -2001,7 +1995,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return true;
}
-
+
/*
* Scan a package and return the newly parsed package.
* Returns null in case of errors and the error code is stored in mLastScanError
@@ -2080,7 +2074,7 @@ class PackageManagerService extends IPackageManager.Stub {
return processName;
}
- private boolean verifySignaturesLP(PackageSetting pkgSetting,
+ private boolean verifySignaturesLP(PackageSetting pkgSetting,
PackageParser.Package pkg, int parseFlags, boolean updateSignature) {
if (pkg.mSignatures != null) {
if (!pkgSetting.signatures.updateSignatures(pkg.mSignatures,
@@ -2106,12 +2100,12 @@ class PackageManagerService extends IPackageManager.Stub {
}
return true;
}
-
+
public boolean performDexOpt(String packageName) {
if (!mNoDexOpt) {
return false;
}
-
+
PackageParser.Package p;
synchronized (mPackages) {
p = mPackages.get(packageName);
@@ -2123,11 +2117,11 @@ class PackageManagerService extends IPackageManager.Stub {
return performDexOptLI(p, false) == DEX_OPT_PERFORMED;
}
}
-
+
static final int DEX_OPT_SKIPPED = 0;
static final int DEX_OPT_PERFORMED = 1;
static final int DEX_OPT_FAILED = -1;
-
+
private int performDexOptLI(PackageParser.Package pkg, boolean forceDex) {
boolean performed = false;
if ((pkg.applicationInfo.flags&ApplicationInfo.FLAG_HAS_CODE) != 0 && mInstaller != null) {
@@ -2135,7 +2129,7 @@ class PackageManagerService extends IPackageManager.Stub {
int ret = 0;
try {
if (forceDex || dalvik.system.DexFile.isDexOptNeeded(path)) {
- ret = mInstaller.dexopt(path, pkg.applicationInfo.uid,
+ ret = mInstaller.dexopt(path, pkg.applicationInfo.uid,
!pkg.mForwardLocked);
pkg.mDidDexOpt = true;
performed = true;
@@ -2152,10 +2146,10 @@ class PackageManagerService extends IPackageManager.Stub {
return DEX_OPT_FAILED;
}
}
-
+
return performed ? DEX_OPT_PERFORMED : DEX_OPT_SKIPPED;
}
-
+
private PackageParser.Package scanPackageLI(
File scanFile, File destCodeFile, File destResourceFile,
PackageParser.Package pkg, int parseFlags, int scanMode) {
@@ -2181,7 +2175,7 @@ class PackageManagerService extends IPackageManager.Stub {
mLastScanError = PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE;
return null;
}
-
+
// Set up information for our fall-back user intent resolution
// activity.
mPlatformPackage = pkg;
@@ -2218,9 +2212,9 @@ class PackageManagerService extends IPackageManager.Stub {
SharedUserSetting suid = null;
PackageSetting pkgSetting = null;
-
+
boolean removeExisting = false;
-
+
synchronized (mPackages) {
// Check all shared libraries and map to their actual file path.
if (pkg.usesLibraries != null || pkg.usesOptionalLibraries != null) {
@@ -2259,7 +2253,7 @@ class PackageManagerService extends IPackageManager.Stub {
System.arraycopy(mTmpSharedLibraries, 0,
pkg.usesLibraryFiles, 0, num);
}
-
+
if (pkg.reqFeatures != null) {
N = pkg.reqFeatures.size();
for (int i=0; i<N; i++) {
@@ -2268,7 +2262,7 @@ class PackageManagerService extends IPackageManager.Stub {
// Don't care.
continue;
}
-
+
if (fi.name != null) {
if (mAvailableFeatures.get(fi.name) == null) {
Log.e(TAG, "Package " + pkg.packageName
@@ -2281,7 +2275,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
if (pkg.mSharedUserId != null) {
suid = mSettings.getSharedUserLP(pkg.mSharedUserId,
pkg.applicationInfo.flags, true);
@@ -2309,11 +2303,11 @@ class PackageManagerService extends IPackageManager.Stub {
if(mSettings.mDisabledSysPackages.get(pkg.packageName) != null) {
pkg.applicationInfo.flags |= ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
}
-
+
pkg.applicationInfo.uid = pkgSetting.userId;
pkg.mExtras = pkgSetting;
-
- if (!verifySignaturesLP(pkgSetting, pkg, parseFlags,
+
+ if (!verifySignaturesLP(pkgSetting, pkg, parseFlags,
(scanMode&SCAN_UPDATE_SIGNATURE) != 0)) {
if ((parseFlags&PackageParser.PARSE_IS_SYSTEM) == 0) {
mLastScanError = PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE;
@@ -2336,7 +2330,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
removeExisting = true;
}
-
+
// Verify that this new package doesn't have any content providers
// that conflict with existing packages. Only do this if the
// package isn't already installed, since we don't want to break
@@ -2378,7 +2372,7 @@ class PackageManagerService extends IPackageManager.Stub {
+ " signature changed: existing data removed.");
mLastScanError = PackageManager.INSTALL_SUCCEEDED;
}
-
+
long scanFileTime = scanFile.lastModified();
final boolean forceDex = (scanMode&SCAN_FORCE_DEX) != 0;
final boolean scanFileNewer = forceDex || scanFileTime != pkgSetting.getTimeStamp();
@@ -2417,7 +2411,7 @@ class PackageManagerService extends IPackageManager.Stub {
+ pkg.applicationInfo.uid + "; old data erased";
reportSettingsProblem(Log.WARN, msg);
recovered = true;
-
+
// And now re-install the app.
ret = mInstaller.install(pkgName, pkg.applicationInfo.uid,
pkg.applicationInfo.uid);
@@ -2430,7 +2424,7 @@ class PackageManagerService extends IPackageManager.Stub {
return null;
}
}
- }
+ }
if (!recovered) {
mHasSystemUidErrors = true;
}
@@ -2499,7 +2493,7 @@ class PackageManagerService extends IPackageManager.Stub {
pkg.mForwardLocked = (scanMode&SCAN_FORWARD_LOCKED) != 0;
pkg.mScanPath = path;
-
+
if ((scanMode&SCAN_NO_DEX) == 0) {
if (performDexOptLI(pkg, forceDex) == DEX_OPT_FAILED) {
mLastScanError = PackageManager.INSTALL_FAILED_DEXOPT;
@@ -2507,7 +2501,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
if (mFactoryTest && pkg.requestedPermissions.contains(
android.Manifest.permission.FACTORY_TEST)) {
pkg.applicationInfo.flags |= ApplicationInfo.FLAG_FACTORY_TEST;
@@ -2591,7 +2585,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Providers: " + r);
}
-
+
N = pkg.services.size();
r = null;
for (i=0; i<N; i++) {
@@ -2611,7 +2605,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Services: " + r);
}
-
+
N = pkg.receivers.size();
r = null;
for (i=0; i<N; i++) {
@@ -2631,7 +2625,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Receivers: " + r);
}
-
+
N = pkg.activities.size();
r = null;
for (i=0; i<N; i++) {
@@ -2651,7 +2645,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Activities: " + r);
}
-
+
N = pkg.permissionGroups.size();
r = null;
for (i=0; i<N; i++) {
@@ -2685,7 +2679,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Permission Groups: " + r);
}
-
+
N = pkg.permissions.size();
r = null;
for (i=0; i<N; i++) {
@@ -2746,7 +2740,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Permissions: " + r);
}
-
+
N = pkg.instrumentation.size();
r = null;
for (i=0; i<N; i++) {
@@ -2768,17 +2762,17 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Instrumentation: " + r);
}
-
+
if (pkg.protectedBroadcasts != null) {
N = pkg.protectedBroadcasts.size();
for (i=0; i<N; i++) {
mProtectedBroadcasts.add(pkg.protectedBroadcasts.get(i));
}
}
-
+
pkgSetting.setTimeStamp(scanFileTime);
}
-
+
return pkg;
}
@@ -2847,7 +2841,7 @@ class PackageManagerService extends IPackageManager.Stub {
// file name must start with libPrefix, i.e. "lib"
int lastSlash = entryName.lastIndexOf('/');
- if (lastSlash < 0 ||
+ if (lastSlash < 0 ||
!entryName.regionMatches(lastSlash+1, libPrefix, 0, libPrefixLen) ) {
continue;
}
@@ -2967,12 +2961,12 @@ class PackageManagerService extends IPackageManager.Stub {
synchronized (mPackages) {
clearPackagePreferredActivitiesLP(pkg.packageName);
-
+
mPackages.remove(pkg.applicationInfo.packageName);
if (pkg.mPath != null) {
mAppDirs.remove(pkg.mPath);
}
-
+
PackageSetting ps = (PackageSetting)pkg.mExtras;
if (ps != null && ps.sharedUser != null) {
// XXX don't do this until the data is removed.
@@ -2983,7 +2977,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
int N = pkg.providers.size();
StringBuilder r = null;
int i;
@@ -2992,7 +2986,7 @@ class PackageManagerService extends IPackageManager.Stub {
mProvidersByComponent.remove(new ComponentName(p.info.packageName,
p.info.name));
if (p.info.authority == null) {
-
+
/* The is another ContentProvider with this authority when
* this app was installed so this authority is null,
* Ignore it as we don't have to unregister the provider.
@@ -3021,7 +3015,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Providers: " + r);
}
-
+
N = pkg.services.size();
r = null;
for (i=0; i<N; i++) {
@@ -3039,7 +3033,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Services: " + r);
}
-
+
N = pkg.receivers.size();
r = null;
for (i=0; i<N; i++) {
@@ -3057,7 +3051,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Receivers: " + r);
}
-
+
N = pkg.activities.size();
r = null;
for (i=0; i<N; i++) {
@@ -3075,7 +3069,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Activities: " + r);
}
-
+
N = pkg.permissions.size();
r = null;
for (i=0; i<N; i++) {
@@ -3109,7 +3103,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (r != null) {
if (Config.LOGD) Log.d(TAG, " Permissions: " + r);
}
-
+
N = pkg.instrumentation.size();
r = null;
for (i=0; i<N; i++) {
@@ -3180,7 +3174,7 @@ class PackageManagerService extends IPackageManager.Stub {
grantPermissionsLP(pkg, false);
}
}
-
+
private void grantPermissionsLP(PackageParser.Package pkg, boolean replace) {
final PackageSetting ps = (PackageSetting)pkg.mExtras;
if (ps == null) {
@@ -3188,7 +3182,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
final GrantedPermissions gp = ps.sharedUser != null ? ps.sharedUser : ps;
boolean addedPermission = false;
-
+
if (replace) {
ps.permissionsFixed = false;
if (gp == ps) {
@@ -3196,11 +3190,11 @@ class PackageManagerService extends IPackageManager.Stub {
gp.gids = mGlobalGids;
}
}
-
+
if (gp.gids == null) {
gp.gids = mGlobalGids;
}
-
+
final int N = pkg.requestedPermissions.size();
for (int i=0; i<N; i++) {
String name = pkg.requestedPermissions.get(i);
@@ -3228,7 +3222,7 @@ class PackageManagerService extends IPackageManager.Stub {
if ((pkg.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM) != 0) {
// For updated system applications, the signatureOrSystem permission
// is granted only if it had been defined by the original application.
- if ((pkg.applicationInfo.flags
+ if ((pkg.applicationInfo.flags
& ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
PackageSetting sysPs = mSettings.getDisabledSystemPkg(pkg.packageName);
if(sysPs.grantedPermissions.contains(perm)) {
@@ -3296,7 +3290,7 @@ class PackageManagerService extends IPackageManager.Stub {
+ " in package " + pkg.packageName);
}
}
-
+
if ((addedPermission || replace) && !ps.permissionsFixed &&
((ps.pkgFlags&ApplicationInfo.FLAG_SYSTEM) == 0) ||
((ps.pkgFlags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0)){
@@ -3392,7 +3386,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return true;
}
-
+
@Override
protected ResolveInfo newResult(PackageParser.ActivityIntentInfo info,
int match) {
@@ -3542,7 +3536,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return true;
}
-
+
@Override
protected ResolveInfo newResult(PackageParser.ServiceIntentInfo filter,
int match) {
@@ -3743,14 +3737,14 @@ class PackageManagerService extends IPackageManager.Stub {
final Uri packageURI, final IPackageInstallObserver observer, final int flags) {
installPackage(packageURI, observer, flags, null);
}
-
+
/* Called when a downloaded package installation has been confirmed by the user */
public void installPackage(
final Uri packageURI, final IPackageInstallObserver observer, final int flags,
final String installerPackageName) {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.INSTALL_PACKAGES, null);
-
+
// Queue up an async operation since the package installation may take a little while.
mHandler.post(new Runnable() {
public void run() {
@@ -3806,12 +3800,12 @@ class PackageManagerService extends IPackageManager.Stub {
int returnCode;
PackageRemovedInfo removedInfo;
}
-
+
/*
* Install a non-existing package.
*/
private void installNewPackageLI(String pkgName,
- File tmpPackageFile,
+ File tmpPackageFile,
String destFilePath, File destPackageFile, File destResourceFile,
PackageParser.Package pkg, boolean forwardLocked, boolean newInstall,
String installerPackageName, PackageInstalledInfo res) {
@@ -3821,7 +3815,7 @@ class PackageManagerService extends IPackageManager.Stub {
synchronized(mPackages) {
if (mPackages.containsKey(pkgName) || mAppDirs.containsKey(destFilePath)) {
// Don't allow installation over an existing package with the same name.
- Log.w(TAG, "Attempt to re-install " + pkgName
+ Log.w(TAG, "Attempt to re-install " + pkgName
+ " without first uninstalling.");
res.returnCode = PackageManager.INSTALL_FAILED_ALREADY_EXISTS;
return;
@@ -3836,7 +3830,7 @@ class PackageManagerService extends IPackageManager.Stub {
PackageParser.Package newPackage = scanPackageLI(tmpPackageFile, destPackageFile,
destResourceFile, pkg, 0,
SCAN_MONITOR | SCAN_FORCE_DEX
- | SCAN_UPDATE_SIGNATURE
+ | SCAN_UPDATE_SIGNATURE
| (forwardLocked ? SCAN_FORWARD_LOCKED : 0)
| (newInstall ? SCAN_NEW_INSTALL : 0));
if (newPackage == null) {
@@ -3845,9 +3839,9 @@ class PackageManagerService extends IPackageManager.Stub {
res.returnCode = PackageManager.INSTALL_FAILED_INVALID_APK;
}
} else {
- updateSettingsLI(pkgName, tmpPackageFile,
+ updateSettingsLI(pkgName, tmpPackageFile,
destFilePath, destPackageFile,
- destResourceFile, pkg,
+ destResourceFile, pkg,
newPackage,
true,
forwardLocked,
@@ -3867,9 +3861,9 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
private void replacePackageLI(String pkgName,
- File tmpPackageFile,
+ File tmpPackageFile,
String destFilePath, File destPackageFile, File destResourceFile,
PackageParser.Package pkg, boolean forwardLocked, boolean newInstall,
String installerPackageName, PackageInstalledInfo res) {
@@ -3887,7 +3881,7 @@ class PackageManagerService extends IPackageManager.Stub {
boolean sysPkg = ((oldPackage.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0);
if(sysPkg) {
replaceSystemPackageLI(oldPackage,
- tmpPackageFile, destFilePath,
+ tmpPackageFile, destFilePath,
destPackageFile, destResourceFile, pkg, forwardLocked,
newInstall, installerPackageName, res);
} else {
@@ -3896,9 +3890,9 @@ class PackageManagerService extends IPackageManager.Stub {
newInstall, installerPackageName, res);
}
}
-
+
private void replaceNonSystemPackageLI(PackageParser.Package deletedPackage,
- File tmpPackageFile,
+ File tmpPackageFile,
String destFilePath, File destPackageFile, File destResourceFile,
PackageParser.Package pkg, boolean forwardLocked, boolean newInstall,
String installerPackageName, PackageInstalledInfo res) {
@@ -3906,12 +3900,12 @@ class PackageManagerService extends IPackageManager.Stub {
String pkgName = deletedPackage.packageName;
boolean deletedPkg = true;
boolean updatedSettings = false;
-
+
String oldInstallerPackageName = null;
synchronized (mPackages) {
oldInstallerPackageName = mSettings.getInstallerPackageName(pkgName);
}
-
+
int parseFlags = PackageManager.INSTALL_REPLACE_EXISTING;
// First delete the existing package while retaining the data directory
if (!deletePackageLI(pkgName, false, PackageManager.DONT_DELETE_DATA,
@@ -3925,7 +3919,7 @@ class PackageManagerService extends IPackageManager.Stub {
newPackage = scanPackageLI(tmpPackageFile, destPackageFile,
destResourceFile, pkg, parseFlags,
SCAN_MONITOR | SCAN_FORCE_DEX
- | SCAN_UPDATE_SIGNATURE
+ | SCAN_UPDATE_SIGNATURE
| (forwardLocked ? SCAN_FORWARD_LOCKED : 0)
| (newInstall ? SCAN_NEW_INSTALL : 0));
if (newPackage == null) {
@@ -3934,12 +3928,12 @@ class PackageManagerService extends IPackageManager.Stub {
res.returnCode = PackageManager.INSTALL_FAILED_INVALID_APK;
}
} else {
- updateSettingsLI(pkgName, tmpPackageFile,
+ updateSettingsLI(pkgName, tmpPackageFile,
destFilePath, destPackageFile,
- destResourceFile, pkg,
+ destResourceFile, pkg,
newPackage,
true,
- forwardLocked,
+ forwardLocked,
installerPackageName,
res);
updatedSettings = true;
@@ -4007,9 +4001,9 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
private void replaceSystemPackageLI(PackageParser.Package deletedPackage,
- File tmpPackageFile,
+ File tmpPackageFile,
String destFilePath, File destPackageFile, File destResourceFile,
PackageParser.Package pkg, boolean forwardLocked, boolean newInstall,
String installerPackageName, PackageInstalledInfo res) {
@@ -4027,7 +4021,7 @@ class PackageManagerService extends IPackageManager.Stub {
PackageSetting oldPkgSetting;
synchronized (mPackages) {
oldPkg = mPackages.get(packageName);
- oldPkgSetting = mSettings.mPackages.get(packageName);
+ oldPkgSetting = mSettings.mPackages.get(packageName);
if((oldPkg == null) || (oldPkg.applicationInfo == null) ||
(oldPkgSetting == null)) {
Log.w(TAG, "Could'nt find package:"+packageName+" information");
@@ -4048,7 +4042,7 @@ class PackageManagerService extends IPackageManager.Stub {
newPackage = scanPackageLI(tmpPackageFile, destPackageFile,
destResourceFile, pkg, parseFlags,
SCAN_MONITOR | SCAN_FORCE_DEX
- | SCAN_UPDATE_SIGNATURE
+ | SCAN_UPDATE_SIGNATURE
| (forwardLocked ? SCAN_FORWARD_LOCKED : 0)
| (newInstall ? SCAN_NEW_INSTALL : 0));
if (newPackage == null) {
@@ -4057,9 +4051,9 @@ class PackageManagerService extends IPackageManager.Stub {
res.returnCode = PackageManager.INSTALL_FAILED_INVALID_APK;
}
} else {
- updateSettingsLI(packageName, tmpPackageFile,
+ updateSettingsLI(packageName, tmpPackageFile,
destFilePath, destPackageFile,
- destResourceFile, pkg,
+ destResourceFile, pkg,
newPackage,
true,
forwardLocked,
@@ -4083,7 +4077,7 @@ class PackageManagerService extends IPackageManager.Stub {
removePackageLI(newPackage, true);
}
// Add back the old system package
- scanPackageLI(oldPkgSetting.codePath, oldPkgSetting.codePath,
+ scanPackageLI(oldPkgSetting.codePath, oldPkgSetting.codePath,
oldPkgSetting.resourcePath,
oldPkg, parseFlags,
SCAN_MONITOR
@@ -4099,14 +4093,14 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
- private void updateSettingsLI(String pkgName, File tmpPackageFile,
+
+ private void updateSettingsLI(String pkgName, File tmpPackageFile,
String destFilePath, File destPackageFile,
- File destResourceFile,
- PackageParser.Package pkg,
+ File destResourceFile,
+ PackageParser.Package pkg,
PackageParser.Package newPackage,
boolean replacingExistingPackage,
- boolean forwardLocked,
+ boolean forwardLocked,
String installerPackageName, PackageInstalledInfo res) {
synchronized (mPackages) {
//write settings. the installStatus will be incomplete at this stage.
@@ -4133,8 +4127,8 @@ class PackageManagerService extends IPackageManager.Stub {
Log.e(TAG, "Couldn't move package file to: " + destPackageFile);
res.returnCode = PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
} else {
- res.returnCode = setPermissionsLI(pkgName, newPackage, destFilePath,
- destResourceFile,
+ res.returnCode = setPermissionsLI(pkgName, newPackage, destFilePath,
+ destResourceFile,
forwardLocked);
if(res.returnCode != PackageManager.INSTALL_SUCCEEDED) {
return;
@@ -4160,7 +4154,7 @@ class PackageManagerService extends IPackageManager.Stub {
mSettings.writeLP();
}
}
-
+
private File getFwdLockedResource(String pkgName) {
final String publicZipFileName = pkgName + ".zip";
return new File(mAppInstallDir, publicZipFileName);
@@ -4277,7 +4271,7 @@ class PackageManagerService extends IPackageManager.Stub {
res.returnCode = pp.getParseError();
break main_flow;
}
-
+
synchronized (mPackages) {
//check if installing already existing package
if ((pFlags&PackageManager.INSTALL_REPLACE_EXISTING) != 0
@@ -4285,16 +4279,16 @@ class PackageManagerService extends IPackageManager.Stub {
replacingExistingPackage = true;
}
}
-
+
if(replacingExistingPackage) {
replacePackageLI(pkgName,
- tmpPackageFile,
+ tmpPackageFile,
destFilePath, destPackageFile, destResourceFile,
pkg, forwardLocked, newInstall, installerPackageName,
res);
} else {
installNewPackageLI(pkgName,
- tmpPackageFile,
+ tmpPackageFile,
destFilePath, destPackageFile, destResourceFile,
pkg, forwardLocked, newInstall, installerPackageName,
res);
@@ -4305,7 +4299,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
private int setPermissionsLI(String pkgName,
PackageParser.Package newPackage,
String destFilePath,
@@ -4406,7 +4400,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
outZipStream.flush();
}
-
+
private void deleteTempPackageFiles() {
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File dir, String name) {
@@ -4462,13 +4456,13 @@ class PackageManagerService extends IPackageManager.Stub {
} //end run
});
}
-
+
/**
* This method is an internal method that could be get invoked either
* to delete an installed package or to clean up a failed installation.
* After deleting an installed package, a broadcast is sent to notify any
* listeners that the package has been installed. For cleaning up a failed
- * installation, the broadcast is not necessary since the package's
+ * installation, the broadcast is not necessary since the package's
* installation wouldn't have sent the initial broadcast either
* The key steps in deleting a package are
* deleting the package information in internal structures like mPackages,
@@ -4486,7 +4480,7 @@ class PackageManagerService extends IPackageManager.Stub {
synchronized (mInstallLock) {
res = deletePackageLI(packageName, deleteCodeAndResources, flags, info);
}
-
+
if(res && sendBroadCast) {
boolean systemUpdate = info.isRemovedPackageSystemUpdate;
info.sendBroadcast(deleteCodeAndResources, systemUpdate);
@@ -4526,14 +4520,14 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
/*
* This method deletes the package from internal data structures. If the DONT_DELETE_DATA
* flag is not set, the data directory is removed as well.
- * make sure this flag is set for partially installed apps. If not its meaningless to
+ * make sure this flag is set for partially installed apps. If not its meaningless to
* delete a partially installed application.
*/
- private void removePackageDataLI(PackageParser.Package p, PackageRemovedInfo outInfo,
+ private void removePackageDataLI(PackageParser.Package p, PackageRemovedInfo outInfo,
int flags) {
String packageName = p.packageName;
if (outInfo != null) {
@@ -4574,7 +4568,7 @@ class PackageManagerService extends IPackageManager.Stub {
mSettings.writeLP ();
}
}
-
+
/*
* Tries to delete system package.
*/
@@ -4626,7 +4620,7 @@ class PackageManagerService extends IPackageManager.Stub {
PackageParser.Package newPkg = scanPackageLI(ps.codePath, ps.codePath, ps.resourcePath,
PackageParser.PARSE_MUST_BE_APK | PackageParser.PARSE_IS_SYSTEM,
SCAN_MONITOR);
-
+
if (newPkg == null) {
Log.w(TAG, "Failed to restore system package:"+p.packageName+" with error:" + mLastScanError);
return false;
@@ -4667,7 +4661,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
private boolean deleteInstalledPackageLI(PackageParser.Package p,
boolean deleteCodeAndResources, int flags, PackageRemovedInfo outInfo) {
ApplicationInfo applicationInfo = p.applicationInfo;
@@ -4689,7 +4683,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return true;
}
-
+
/*
* This method handles package deletion in general
*/
@@ -4718,7 +4712,7 @@ class PackageManagerService extends IPackageManager.Stub {
Log.w(TAG, "Package named '" + packageName +"' doesn't exist.");
return false;
}
-
+
if (dataOnly) {
// Delete application data first
removePackageDataLI(p, outInfo, flags);
@@ -4738,7 +4732,7 @@ class PackageManagerService extends IPackageManager.Stub {
Log.i(TAG, "Removing non-system package:"+p.packageName);
return deleteInstalledPackageLI (p, deleteCodeAndResources, flags, outInfo);
}
-
+
public void clearApplicationUserData(final String packageName,
final IPackageDataObserver observer) {
mContext.enforceCallingOrSelfPermission(
@@ -4769,7 +4763,7 @@ class PackageManagerService extends IPackageManager.Stub {
} //end run
});
}
-
+
private boolean clearApplicationUserDataLI(String packageName) {
if (packageName == null) {
Log.w(TAG, "Attempt to delete null packageName.");
@@ -4928,7 +4922,7 @@ class PackageManagerService extends IPackageManager.Stub {
return true;
}
-
+
public void addPackageToPreferred(String packageName) {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.SET_PREFERRED_APPLICATIONS, null);
@@ -5156,7 +5150,7 @@ class PackageManagerService extends IPackageManager.Stub {
extras.putStringArray(Intent.EXTRA_CHANGED_COMPONENT_NAME_LIST, nameList);
extras.putBoolean(Intent.EXTRA_DONT_KILL_APP, killFlag);
extras.putInt(Intent.EXTRA_UID, packageUid);
- sendPackageBroadcast(Intent.ACTION_PACKAGE_CHANGED, packageName, extras);
+ sendPackageBroadcast(Intent.ACTION_PACKAGE_CHANGED, packageName, extras);
}
public String getInstallerPackageName(String packageName) {
@@ -5168,7 +5162,7 @@ class PackageManagerService extends IPackageManager.Stub {
return pkg.installerPackageName;
}
}
-
+
public int getApplicationEnabledSetting(String appPackageName) {
synchronized (mPackages) {
PackageSetting pkg = mSettings.mPackages.get(appPackageName);
@@ -5230,7 +5224,7 @@ class PackageManagerService extends IPackageManager.Stub {
buf.append(']');
return buf.toString();
}
-
+
@Override
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
@@ -5286,31 +5280,31 @@ class PackageManagerService extends IPackageManager.Stub {
pw.print(" targetSdk="); pw.println(ps.pkg.applicationInfo.targetSdkVersion);
pw.print(" supportsScreens=[");
boolean first = true;
- if ((ps.pkg.applicationInfo.flags &
+ if ((ps.pkg.applicationInfo.flags &
ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS) != 0) {
if (!first) pw.print(", ");
first = false;
pw.print("medium");
}
- if ((ps.pkg.applicationInfo.flags &
+ if ((ps.pkg.applicationInfo.flags &
ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS) != 0) {
if (!first) pw.print(", ");
first = false;
pw.print("large");
}
- if ((ps.pkg.applicationInfo.flags &
+ if ((ps.pkg.applicationInfo.flags &
ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS) != 0) {
if (!first) pw.print(", ");
first = false;
pw.print("small");
}
- if ((ps.pkg.applicationInfo.flags &
+ if ((ps.pkg.applicationInfo.flags &
ApplicationInfo.FLAG_RESIZEABLE_FOR_SCREENS) != 0) {
if (!first) pw.print(", ");
first = false;
pw.print("resizeable");
}
- if ((ps.pkg.applicationInfo.flags &
+ if ((ps.pkg.applicationInfo.flags &
ApplicationInfo.FLAG_SUPPORTS_SCREEN_DENSITIES) != 0) {
if (!first) pw.print(", ");
first = false;
@@ -5643,7 +5637,7 @@ class PackageManagerService extends IPackageManager.Stub {
mSignatures[i] = sigs[i];
}
}
-
+
@Override
public String toString() {
StringBuffer buf = new StringBuffer(128);
@@ -5829,17 +5823,17 @@ class PackageManagerService extends IPackageManager.Stub {
static class GrantedPermissions {
int pkgFlags;
-
+
HashSet<String> grantedPermissions = new HashSet<String>();
int[] gids;
-
+
HashSet<String> loadedPermissions = new HashSet<String>();
-
+
GrantedPermissions(int pkgFlags) {
this.pkgFlags = pkgFlags & ApplicationInfo.FLAG_SYSTEM;
}
}
-
+
/**
* Settings base class for pending and resolved classes.
*/
@@ -5856,14 +5850,14 @@ class PackageManagerService extends IPackageManager.Stub {
PackageSignatures signatures = new PackageSignatures();
boolean permissionsFixed;
-
+
/* Explicitly disabled components */
HashSet<String> disabledComponents = new HashSet<String>(0);
/* Explicitly enabled components */
HashSet<String> enabledComponents = new HashSet<String>(0);
int enabled = COMPONENT_ENABLED_STATE_DEFAULT;
int installStatus = PKG_INSTALL_COMPLETE;
-
+
/* package name of the app that installed this package */
String installerPackageName;
@@ -5881,19 +5875,19 @@ class PackageManagerService extends IPackageManager.Stub {
public void setInstallerPackageName(String packageName) {
installerPackageName = packageName;
}
-
+
String getInstallerPackageName() {
return installerPackageName;
}
-
+
public void setInstallStatus(int newStatus) {
installStatus = newStatus;
}
-
+
public int getInstallStatus() {
return installStatus;
}
-
+
public void setTimeStamp(long newStamp) {
if (newStamp != timeStamp) {
timeStamp = newStamp;
@@ -5905,11 +5899,11 @@ class PackageManagerService extends IPackageManager.Stub {
timeStamp = newStamp;
timeStampString = newStampStr;
}
-
+
public long getTimeStamp() {
return timeStamp;
}
-
+
public String getTimeStampStr() {
return timeStampString;
}
@@ -5918,7 +5912,7 @@ class PackageManagerService extends IPackageManager.Stub {
grantedPermissions = base.grantedPermissions;
gids = base.gids;
loadedPermissions = base.loadedPermissions;
-
+
timeStamp = base.timeStamp;
timeStampString = base.timeStampString;
signatures = base.signatures;
@@ -5967,7 +5961,7 @@ class PackageManagerService extends IPackageManager.Stub {
int pVersionCode, int pkgFlags) {
super(name, codePath, resourcePath, pVersionCode, pkgFlags);
}
-
+
@Override
public String toString() {
return "PackageSetting{"
@@ -5989,7 +5983,7 @@ class PackageManagerService extends IPackageManager.Stub {
super(_pkgFlags);
name = _name;
}
-
+
@Override
public String toString() {
return "SharedUserSetting{"
@@ -6009,7 +6003,7 @@ class PackageManagerService extends IPackageManager.Stub {
// List of replaced system applications
final HashMap<String, PackageSetting> mDisabledSysPackages =
new HashMap<String, PackageSetting>();
-
+
// The user's preferred activities associated with particular intent
// filters.
private final IntentResolver<PreferredActivity, PreferredActivity> mPreferredActivities =
@@ -6084,7 +6078,7 @@ class PackageManagerService extends IPackageManager.Stub {
resourcePath, pkg.mVersionCode, pkgFlags, create, add);
return p;
}
-
+
PackageSetting peekPackageLP(String name) {
return mPackages.get(name);
/*
@@ -6095,7 +6089,7 @@ class PackageManagerService extends IPackageManager.Stub {
return null;
*/
}
-
+
void setInstallStatus(String pkgName, int status) {
PackageSetting p = mPackages.get(pkgName);
if(p != null) {
@@ -6104,7 +6098,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
+
void setInstallerPackageName(String pkgName,
String installerPkgName) {
PackageSetting p = mPackages.get(pkgName);
@@ -6112,17 +6106,17 @@ class PackageManagerService extends IPackageManager.Stub {
p.setInstallerPackageName(installerPkgName);
}
}
-
+
String getInstallerPackageName(String pkgName) {
PackageSetting p = mPackages.get(pkgName);
- return (p == null) ? null : p.getInstallerPackageName();
+ return (p == null) ? null : p.getInstallerPackageName();
}
int getInstallStatus(String pkgName) {
PackageSetting p = mPackages.get(pkgName);
if(p != null) {
return p.getInstallStatus();
- }
+ }
return -1;
}
@@ -6166,7 +6160,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return removePackageLP(name);
}
-
+
PackageSetting enableSystemPackageLP(String name) {
PackageSetting p = mDisabledSysPackages.get(name);
if(p == null) {
@@ -6182,7 +6176,7 @@ class PackageManagerService extends IPackageManager.Stub {
mDisabledSysPackages.remove(name);
return ret;
}
-
+
PackageSetting addPackageLP(String name, File codePath,
File resourcePath, int uid, int vc, int pkgFlags) {
PackageSetting p = mPackages.get(name);
@@ -6303,7 +6297,7 @@ class PackageManagerService extends IPackageManager.Stub {
return null;
}
if (add) {
- // Finish adding new package by adding it and updating shared
+ // Finish adding new package by adding it and updating shared
// user preferences
addPackageSettingLP(p, name, sharedUser);
}
@@ -6479,7 +6473,7 @@ class PackageManagerService extends IPackageManager.Stub {
mOtherUserIds.remove(uid);
}
}
-
+
void writeLP() {
//Debug.startMethodTracing("/data/system/packageprof", 8 * 1024 * 1024);
@@ -6528,7 +6522,7 @@ class PackageManagerService extends IPackageManager.Stub {
for (PackageSetting pkg : mPackages.values()) {
writePackage(serializer, pkg);
}
-
+
for (PackageSetting pkg : mDisabledSysPackages.values()) {
writeDisabledSysPackage(serializer, pkg);
}
@@ -6587,8 +6581,8 @@ class PackageManagerService extends IPackageManager.Stub {
}
//Debug.stopMethodTracing();
}
-
- void writeDisabledSysPackage(XmlSerializer serializer, final PackageSetting pkg)
+
+ void writeDisabledSysPackage(XmlSerializer serializer, final PackageSetting pkg)
throws java.io.IOException {
serializer.startTag(null, "updated-package");
serializer.attribute(null, "name", pkg.name);
@@ -6625,8 +6619,8 @@ class PackageManagerService extends IPackageManager.Stub {
serializer.endTag(null, "perms");
serializer.endTag(null, "updated-package");
}
-
- void writePackage(XmlSerializer serializer, final PackageSetting pkg)
+
+ void writePackage(XmlSerializer serializer, final PackageSetting pkg)
throws java.io.IOException {
serializer.startTag(null, "package");
serializer.attribute(null, "name", pkg.name);
@@ -6691,10 +6685,10 @@ class PackageManagerService extends IPackageManager.Stub {
}
serializer.endTag(null, "enabled-components");
}
-
+
serializer.endTag(null, "package");
}
-
+
void writePermission(XmlSerializer serializer, BasePermission bp)
throws XmlPullParserException, java.io.IOException {
if (bp.type != BasePermission.TYPE_BUILTIN
@@ -6745,7 +6739,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
return ret;
}
-
+
boolean readLP() {
FileInputStream str = null;
if (mBackupSettingsFilename.exists()) {
@@ -6938,7 +6932,7 @@ class PackageManagerService extends IPackageManager.Stub {
XmlUtils.skipCurrentTag(parser);
}
}
-
+
private void readDisabledSysPackageLP(XmlPullParser parser)
throws XmlPullParserException, IOException {
String name = parser.getAttributeValue(null, "name");
@@ -6955,11 +6949,11 @@ class PackageManagerService extends IPackageManager.Stub {
} catch (NumberFormatException e) {
}
}
-
+
int pkgFlags = 0;
pkgFlags |= ApplicationInfo.FLAG_SYSTEM;
- PackageSetting ps = new PackageSetting(name,
- new File(codePathStr),
+ PackageSetting ps = new PackageSetting(name,
+ new File(codePathStr),
new File(resourcePathStr), versionCode, pkgFlags);
String timeStampStr = parser.getAttributeValue(null, "ts");
if (timeStampStr != null) {
@@ -6998,7 +6992,7 @@ class PackageManagerService extends IPackageManager.Stub {
}
mDisabledSysPackages.put(name, ps);
}
-
+
private void readPackageLP(XmlPullParser parser)
throws XmlPullParserException, IOException {
String name = null;
@@ -7060,7 +7054,7 @@ class PackageManagerService extends IPackageManager.Stub {
"Error in package manager settings: <package> has no codePath at "
+ parser.getPositionDescription());
} else if (userId > 0) {
- packageSetting = addPackageLP(name.intern(), new File(codePathStr),
+ packageSetting = addPackageLP(name.intern(), new File(codePathStr),
new File(resourcePathStr), userId, versionCode, pkgFlags);
if (DEBUG_SETTINGS) Log.i(TAG, "Reading package " + name
+ ": userId=" + userId + " pkg=" + packageSetting);
@@ -7128,7 +7122,7 @@ class PackageManagerService extends IPackageManager.Stub {
packageSetting.installStatus = PKG_INSTALL_COMPLETE;
}
}
-
+
int outerDepth = parser.getDepth();
int type;
while ((type=parser.next()) != XmlPullParser.END_DOCUMENT
@@ -7373,7 +7367,7 @@ class PackageManagerService extends IPackageManager.Stub {
mUserIds.add(obj);
return FIRST_APPLICATION_UID + N;
}
-
+
public PackageSetting getDisabledSystemPkg(String name) {
synchronized(mPackages) {
PackageSetting ps = mDisabledSysPackages.get(name);
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index 6e769c7..e11c312 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -133,7 +133,7 @@ class PowerManagerService extends IPowerManager.Stub
static final boolean ANIMATE_SCREEN_LIGHTS = true;
static final boolean ANIMATE_BUTTON_LIGHTS = false;
static final boolean ANIMATE_KEYBOARD_LIGHTS = false;
-
+
static final int ANIM_STEPS = 60/4;
// Slower animation for autobrightness changes
static final int AUTOBRIGHTNESS_ANIM_STEPS = 60;
@@ -144,14 +144,7 @@ class PowerManagerService extends IPowerManager.Stub
static final int INITIAL_SCREEN_BRIGHTNESS = 255;
static final int INITIAL_BUTTON_BRIGHTNESS = Power.BRIGHTNESS_OFF;
static final int INITIAL_KEYBOARD_BRIGHTNESS = Power.BRIGHTNESS_OFF;
-
- static final int LOG_POWER_SLEEP_REQUESTED = 2724;
- static final int LOG_POWER_SCREEN_BROADCAST_SEND = 2725;
- static final int LOG_POWER_SCREEN_BROADCAST_DONE = 2726;
- static final int LOG_POWER_SCREEN_BROADCAST_STOP = 2727;
- static final int LOG_POWER_SCREEN_STATE = 2728;
- static final int LOG_POWER_PARTIAL_WAKE_STATE = 2729;
-
+
private final int MY_UID;
private boolean mDoneBooting = false;
@@ -419,7 +412,7 @@ class PowerManagerService extends IPowerManager.Stub
// assume nothing is on yet
mUserState = mPowerState = 0;
-
+
// Add ourself to the Watchdog monitors.
Watchdog.getInstance().addMonitor(this);
}
@@ -447,7 +440,7 @@ class PowerManagerService extends IPowerManager.Stub
}
};
mHandlerThread.start();
-
+
synchronized (mHandlerThread) {
while (!mInitComplete) {
try {
@@ -458,7 +451,7 @@ class PowerManagerService extends IPowerManager.Stub
}
}
}
-
+
void initInThread() {
mHandler = new Handler();
@@ -686,7 +679,7 @@ class PowerManagerService extends IPowerManager.Stub
if (newlock) {
mPartialCount++;
if (mPartialCount == 1) {
- if (LOG_PARTIAL_WL) EventLog.writeEvent(LOG_POWER_PARTIAL_WAKE_STATE, 1, tag);
+ if (LOG_PARTIAL_WL) EventLog.writeEvent(EventLogTags.POWER_PARTIAL_WAKE_STATE, 1, tag);
}
}
Power.acquireWakeLock(Power.PARTIAL_WAKE_LOCK,PARTIAL_NAME);
@@ -731,7 +724,7 @@ class PowerManagerService extends IPowerManager.Stub
if (wl == null) {
return;
}
-
+
if (mSpew) {
Log.d(TAG, "releaseWakeLock flags=0x"
+ Integer.toHexString(wl.flags) + " tag=" + wl.tag);
@@ -748,7 +741,7 @@ class PowerManagerService extends IPowerManager.Stub
else if ((wl.flags & LOCK_MASK) == PowerManager.PARTIAL_WAKE_LOCK) {
mPartialCount--;
if (mPartialCount == 0) {
- if (LOG_PARTIAL_WL) EventLog.writeEvent(LOG_POWER_PARTIAL_WAKE_STATE, 0, wl.tag);
+ if (LOG_PARTIAL_WL) EventLog.writeEvent(EventLogTags.POWER_PARTIAL_WAKE_STATE, 0, wl.tag);
Power.releaseWakeLock(PARTIAL_NAME);
}
} else if ((wl.flags & LOCK_MASK) == PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK) {
@@ -855,7 +848,7 @@ class PowerManagerService extends IPowerManager.Stub
int oldCumulativeTimeout = oldPokey & POKE_LOCK_TIMEOUT_MASK;
int newCumulativeTimeout = pokey & POKE_LOCK_TIMEOUT_MASK;
-
+
if (oldCumulativeTimeout != newCumulativeTimeout) {
setScreenOffTimeoutsLocked();
// reset the countdown timer, but use the existing nextState so it doesn't
@@ -958,7 +951,7 @@ class PowerManagerService extends IPowerManager.Stub
mScreenBrightness.dump(pw, " mScreenBrightness: ");
mKeyboardBrightness.dump(pw, " mKeyboardBrightness: ");
mButtonBrightness.dump(pw, " mButtonBrightness: ");
-
+
int N = mLocks.size();
pw.println();
pw.println("mLocks.size=" + N + ":");
@@ -976,7 +969,7 @@ class PowerManagerService extends IPowerManager.Stub
pw.println(" " + type + " '" + wl.tag + "'" + acquireCausesWakeup
+ activated + " (minState=" + wl.minState + ")");
}
-
+
pw.println();
pw.println("mPokeLocks.size=" + mPokeLocks.size() + ":");
for (PokeLock p: mPokeLocks.values()) {
@@ -1106,7 +1099,7 @@ class PowerManagerService extends IPowerManager.Stub
index = -1;
// The wake lock was being held, but we're not actually going to do any
// broadcasts, so release the wake lock.
- EventLog.writeEvent(LOG_POWER_SCREEN_BROADCAST_STOP, 1, mBroadcastWakeLock.mCount);
+ EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_STOP, 1, mBroadcastWakeLock.mCount);
mBroadcastWakeLock.release();
}
@@ -1117,7 +1110,7 @@ class PowerManagerService extends IPowerManager.Stub
// We always increment the ref count for each notification in the queue
// and always decrement when that notification is handled.
mBroadcastWakeLock.acquire();
- EventLog.writeEvent(LOG_POWER_SCREEN_BROADCAST_SEND, mBroadcastWakeLock.mCount);
+ EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_SEND, mBroadcastWakeLock.mCount);
mHandler.post(mNotificationTask);
}
}
@@ -1141,7 +1134,7 @@ class PowerManagerService extends IPowerManager.Stub
}
if (value == 1) {
mScreenOnStart = SystemClock.uptimeMillis();
-
+
policy.screenTurnedOn();
try {
ActivityManagerNative.getDefault().wakingUp();
@@ -1157,7 +1150,7 @@ class PowerManagerService extends IPowerManager.Stub
mScreenOnBroadcastDone, mHandler, 0, null, null);
} else {
synchronized (mLocks) {
- EventLog.writeEvent(LOG_POWER_SCREEN_BROADCAST_STOP, 2,
+ EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_STOP, 2,
mBroadcastWakeLock.mCount);
mBroadcastWakeLock.release();
}
@@ -1165,7 +1158,7 @@ class PowerManagerService extends IPowerManager.Stub
}
else if (value == 0) {
mScreenOffStart = SystemClock.uptimeMillis();
-
+
policy.screenTurnedOff(why);
try {
ActivityManagerNative.getDefault().goingToSleep();
@@ -1178,7 +1171,7 @@ class PowerManagerService extends IPowerManager.Stub
mScreenOffBroadcastDone, mHandler, 0, null, null);
} else {
synchronized (mLocks) {
- EventLog.writeEvent(LOG_POWER_SCREEN_BROADCAST_STOP, 3,
+ EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_STOP, 3,
mBroadcastWakeLock.mCount);
mBroadcastWakeLock.release();
}
@@ -1197,7 +1190,7 @@ class PowerManagerService extends IPowerManager.Stub
private BroadcastReceiver mScreenOnBroadcastDone = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
synchronized (mLocks) {
- EventLog.writeEvent(LOG_POWER_SCREEN_BROADCAST_DONE, 1,
+ EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_DONE, 1,
SystemClock.uptimeMillis() - mScreenOnStart, mBroadcastWakeLock.mCount);
mBroadcastWakeLock.release();
}
@@ -1208,7 +1201,7 @@ class PowerManagerService extends IPowerManager.Stub
private BroadcastReceiver mScreenOffBroadcastDone = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
synchronized (mLocks) {
- EventLog.writeEvent(LOG_POWER_SCREEN_BROADCAST_DONE, 0,
+ EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_DONE, 0,
SystemClock.uptimeMillis() - mScreenOffStart, mBroadcastWakeLock.mCount);
mBroadcastWakeLock.release();
}
@@ -1492,7 +1485,7 @@ class PowerManagerService extends IPowerManager.Stub
mLastTouchDown = 0;
mTotalTouchDownTime = 0;
mTouchCycles = 0;
- EventLog.writeEvent(LOG_POWER_SCREEN_STATE, 1, reason,
+ EventLog.writeEvent(EventLogTags.POWER_SCREEN_STATE, 1, reason,
mTotalTouchDownTime, mTouchCycles);
if (err == 0) {
mPowerState |= SCREEN_ON_BIT;
@@ -1522,12 +1515,12 @@ class PowerManagerService extends IPowerManager.Stub
}
}
}
-
+
private int screenOffFinishedAnimatingLocked(int reason) {
// I don't think we need to check the current state here because all of these
- // Power.setScreenState and sendNotificationLocked can both handle being
+ // Power.setScreenState and sendNotificationLocked can both handle being
// called multiple times in the same state. -joeo
- EventLog.writeEvent(LOG_POWER_SCREEN_STATE, 0, reason, mTotalTouchDownTime, mTouchCycles);
+ EventLog.writeEvent(EventLogTags.POWER_SCREEN_STATE, 0, reason, mTotalTouchDownTime, mTouchCycles);
mLastTouchDown = 0;
int err = setScreenStateLocked(false);
if (err == 0) {
@@ -1551,14 +1544,14 @@ class PowerManagerService extends IPowerManager.Stub
if (difference == 0) {
return;
}
-
+
int offMask = 0;
int dimMask = 0;
int onMask = 0;
int preferredBrightness = getPreferredBrightness();
boolean startAnimation = false;
-
+
if ((difference & KEYBOARD_BRIGHT_BIT) != 0) {
if (ANIMATE_KEYBOARD_LIGHTS) {
if ((newState & KEYBOARD_BRIGHT_BIT) == 0) {
@@ -1697,7 +1690,7 @@ class PowerManagerService extends IPowerManager.Stub
mHandler.removeCallbacks(mLightAnimator);
mHandler.post(mLightAnimator);
}
-
+
if (offMask != 0) {
//Log.i(TAG, "Setting brightess off: " + offMask);
setLightBrightness(offMask, Power.BRIGHTNESS_OFF);
@@ -1739,24 +1732,24 @@ class PowerManagerService extends IPowerManager.Stub
class BrightnessState {
final int mask;
-
+
boolean initialized;
int targetValue;
float curValue;
float delta;
boolean animating;
-
+
BrightnessState(int m) {
mask = m;
}
-
+
public void dump(PrintWriter pw, String prefix) {
pw.println(prefix + "animating=" + animating
+ " targetValue=" + targetValue
+ " curValue=" + curValue
+ " delta=" + delta);
}
-
+
boolean setTargetLocked(int target, int stepsToTarget, int initialValue,
int nominalCurrentValue) {
if (!initialized) {
@@ -1779,7 +1772,7 @@ class PowerManagerService extends IPowerManager.Stub
animating = true;
return true;
}
-
+
boolean stepLocked() {
if (!animating) return false;
if (false && mSpew) {
@@ -1814,7 +1807,7 @@ class PowerManagerService extends IPowerManager.Stub
return more;
}
}
-
+
private class LightAnimator implements Runnable {
public void run() {
synchronized (mLocks) {
@@ -1832,7 +1825,7 @@ class PowerManagerService extends IPowerManager.Stub
}
}
}
-
+
private int getPreferredBrightness() {
try {
if (mScreenBrightnessOverride >= 0) {
@@ -1992,7 +1985,7 @@ class PowerManagerService extends IPowerManager.Stub
} finally {
Binder.restoreCallingIdentity(ident);
}
-
+
mWakeLockState = mLocks.reactivateScreenLocksLocked();
setPowerState(mUserState | mWakeLockState, noChangeLights,
WindowManagerPolicy.OFF_BECAUSE_OF_USER);
@@ -2129,7 +2122,7 @@ class PowerManagerService extends IPowerManager.Stub
goToSleepLocked(time, WindowManagerPolicy.OFF_BECAUSE_OF_USER);
}
}
-
+
/**
* Reboot the device immediately, passing 'reason' (may be null)
* to the underlying __reboot system call. Should not return.
@@ -2159,7 +2152,7 @@ class PowerManagerService extends IPowerManager.Stub
numCleared++;
}
}
- EventLog.writeEvent(LOG_POWER_SLEEP_REQUESTED, numCleared);
+ EventLog.writeEvent(EventLogTags.POWER_SLEEP_REQUESTED, numCleared);
mStillNeedSleepNotification = true;
mUserState = SCREEN_OFF;
setPowerState(SCREEN_OFF, false, reason);
@@ -2175,7 +2168,7 @@ class PowerManagerService extends IPowerManager.Stub
return SystemClock.elapsedRealtime() - mScreenOffTime;
}
}
-
+
public void setKeyboardVisibility(boolean visible) {
synchronized (mLocks) {
if (mSpew) {
@@ -2345,7 +2338,7 @@ class PowerManagerService extends IPowerManager.Stub
}
return result;
}
-
+
int reactivateScreenLocksLocked()
{
int result = 0;
@@ -2378,7 +2371,7 @@ class PowerManagerService extends IPowerManager.Stub
}
return mPolicy;
}
-
+
void systemReady() {
mSensorManager = new SensorManager(mHandlerThread.getLooper());
mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index a0a9a93..73f930d 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -70,7 +70,7 @@ class ServerThread extends Thread {
@Override
public void run() {
- EventLog.writeEvent(LOG_BOOT_PROGRESS_SYSTEM_RUN,
+ EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_SYSTEM_RUN,
SystemClock.uptimeMillis());
ActivityManagerService.prepareTraceFile(false); // create dir
@@ -387,7 +387,7 @@ class ServerThread extends Thread {
} catch (RemoteException e) {
}
}
-
+
// It is now time to start up the app processes...
if (notification != null) {
@@ -411,7 +411,7 @@ class ServerThread extends Thread {
final AppWidgetService appWidgetF = appWidget;
final WallpaperManagerService wallpaperF = wallpaper;
final InputMethodManagerService immF = imm;
-
+
// We now tell the activity manager it is okay to run third party
// code. It will call back into us once it has gotten to the state
// where third party code can really run (but before it has actually
@@ -421,7 +421,7 @@ class ServerThread extends Thread {
.systemReady(new Runnable() {
public void run() {
Log.i(TAG, "Making services ready");
-
+
if (batteryF != null) batteryF.systemReady();
if (connectivityF != null) connectivityF.systemReady();
if (dockF != null) dockF.systemReady();
@@ -429,13 +429,13 @@ class ServerThread extends Thread {
// It is now okay to let the various system services start their
// third party code...
-
+
if (appWidgetF != null) appWidgetF.systemReady(safeMode);
if (wallpaperF != null) wallpaperF.systemReady();
if (immF != null) immF.systemReady();
}
});
-
+
Looper.loop();
Log.d(TAG, "System ServerThread is exiting!");
}
diff --git a/services/java/com/android/server/Watchdog.java b/services/java/com/android/server/Watchdog.java
index 68bf4fb..2ff9100 100644
--- a/services/java/com/android/server/Watchdog.java
+++ b/services/java/com/android/server/Watchdog.java
@@ -52,16 +52,6 @@ public class Watchdog extends Thread {
static final int GLOBAL_PSS = 2719;
static final int TIME_TO_WAIT = DB ? 15*1000 : 60*1000;
- static final int EVENT_LOG_TAG = 2802;
- static final int EVENT_LOG_PROC_PSS_TAG = 2803;
- static final int EVENT_LOG_SOFT_RESET_TAG = 2804;
- static final int EVENT_LOG_HARD_RESET_TAG = 2805;
- static final int EVENT_LOG_PSS_STATS_TAG = 2806;
- static final int EVENT_LOG_PROC_STATS_TAG = 2807;
- static final int EVENT_LOG_SCHEDULED_REBOOT_TAG = 2808;
- static final int EVENT_LOG_MEMINFO_TAG = 2809;
- static final int EVENT_LOG_VMSTAT_TAG = 2810;
- static final int EVENT_LOG_REQUESTED_REBOOT_TAG = 2811;
static final int MEMCHECK_DEFAULT_INTERVAL = DB ? 30 : 30*60; // 30 minutes
static final int MEMCHECK_DEFAULT_LOG_REALTIME_INTERVAL = DB ? 60 : 2*60*60; // 2 hours
@@ -188,7 +178,7 @@ public class Watchdog extends Thread {
} else {
mState = STATE_HARD;
}
- EventLog.writeEvent(EVENT_LOG_PROC_PSS_TAG, mProcessName, pid, mLastPss);
+ EventLog.writeEvent(EventLogTags.WATCHDOG_PROC_PSS, mProcessName, pid, mLastPss);
if (mState == STATE_OK) {
// Memory is good, don't recover.
@@ -197,7 +187,7 @@ public class Watchdog extends Thread {
if (mState == STATE_HARD) {
// Memory is really bad, kill right now.
- EventLog.writeEvent(EVENT_LOG_HARD_RESET_TAG, mProcessName, pid,
+ EventLog.writeEvent(EventLogTags.WATCHDOG_HARD_RESET, mProcessName, pid,
mHardThreshold, mLastPss);
return mEnabled;
}
@@ -212,7 +202,7 @@ public class Watchdog extends Thread {
} else {
skipReason = shouldWeBeBrutalLocked(curTime);
}
- EventLog.writeEvent(EVENT_LOG_SOFT_RESET_TAG, mProcessName, pid,
+ EventLog.writeEvent(EventLogTags.WATCHDOG_SOFT_RESET, mProcessName, pid,
mSoftThreshold, mLastPss, skipReason != null ? skipReason : "");
if (skipReason != null) {
mNeedScheduledCheck = true;
@@ -348,7 +338,7 @@ public class Watchdog extends Thread {
mReqMinScreenOff = intent.getIntExtra("minScreenOff", -1);
mReqMinNextAlarm = intent.getIntExtra("minNextAlarm", -1);
mReqRecheckInterval = intent.getIntExtra("recheckInterval", -1);
- EventLog.writeEvent(EVENT_LOG_REQUESTED_REBOOT_TAG,
+ EventLog.writeEvent(EventLogTags.WATCHDOG_REQUESTED_REBOOT,
mReqRebootNoWait ? 1 : 0, mReqRebootInterval,
mReqRecheckInterval, mReqRebootStartTime,
mReqRebootWindow, mReqMinScreenOff, mReqMinNextAlarm);
@@ -561,21 +551,21 @@ public class Watchdog extends Thread {
void logGlobalMemory() {
PssStats stats = mPssStats;
mActivity.collectPss(stats);
- EventLog.writeEvent(EVENT_LOG_PSS_STATS_TAG,
+ EventLog.writeEvent(EventLogTags.WATCHDOG_PSS_STATS,
stats.mEmptyPss, stats.mEmptyCount,
stats.mBackgroundPss, stats.mBackgroundCount,
stats.mServicePss, stats.mServiceCount,
stats.mVisiblePss, stats.mVisibleCount,
stats.mForegroundPss, stats.mForegroundCount,
stats.mNoPssCount);
- EventLog.writeEvent(EVENT_LOG_PROC_STATS_TAG,
+ EventLog.writeEvent(EventLogTags.WATCHDOG_PROC_STATS,
stats.mProcDeaths[0], stats.mProcDeaths[1], stats.mProcDeaths[2],
stats.mProcDeaths[3], stats.mProcDeaths[4]);
Process.readProcLines("/proc/meminfo", mMemInfoFields, mMemInfoSizes);
for (int i=0; i<mMemInfoSizes.length; i++) {
mMemInfoSizes[i] *= 1024;
}
- EventLog.writeEvent(EVENT_LOG_MEMINFO_TAG,
+ EventLog.writeEvent(EventLogTags.WATCHDOG_MEMINFO,
(int)mMemInfoSizes[0], (int)mMemInfoSizes[1], (int)mMemInfoSizes[2],
(int)mMemInfoSizes[3], (int)mMemInfoSizes[4],
(int)mMemInfoSizes[5], (int)mMemInfoSizes[6], (int)mMemInfoSizes[7],
@@ -589,7 +579,7 @@ public class Watchdog extends Thread {
mVMStatSizes[i] -= mPrevVMStatSizes[i];
mPrevVMStatSizes[i] = v;
}
- EventLog.writeEvent(EVENT_LOG_VMSTAT_TAG, dur,
+ EventLog.writeEvent(EventLogTags.WATCHDOG_VMSTAT, dur,
(int)mVMStatSizes[0], (int)mVMStatSizes[1], (int)mVMStatSizes[2],
(int)mVMStatSizes[3], (int)mVMStatSizes[4]);
}
@@ -635,7 +625,7 @@ public class Watchdog extends Thread {
(now-mBootTime) >= (rebootIntervalMillis-rebootWindowMillis)) {
if (fromAlarm && rebootWindowMillis <= 0) {
// No reboot window -- just immediately reboot.
- EventLog.writeEvent(EVENT_LOG_SCHEDULED_REBOOT_TAG, now,
+ EventLog.writeEvent(EventLogTags.WATCHDOG_SCHEDULED_REBOOT, now,
(int)rebootIntervalMillis, (int)rebootStartTime*1000,
(int)rebootWindowMillis, "");
rebootSystem("Checkin scheduled forced");
@@ -649,7 +639,7 @@ public class Watchdog extends Thread {
now, rebootStartTime);
} else if (now < (realStartTime+rebootWindowMillis)) {
String doit = shouldWeBeBrutalLocked(now);
- EventLog.writeEvent(EVENT_LOG_SCHEDULED_REBOOT_TAG, now,
+ EventLog.writeEvent(EventLogTags.WATCHDOG_SCHEDULED_REBOOT, now,
(int)rebootInterval, (int)rebootStartTime*1000,
(int)rebootWindowMillis, doit != null ? doit : "");
if (doit == null) {
@@ -838,7 +828,7 @@ public class Watchdog extends Thread {
// First send a SIGQUIT so that we can see where it was hung. Then
// kill this process so that the system will restart.
String name = (mCurrentMonitor != null) ? mCurrentMonitor.getClass().getName() : "null";
- EventLog.writeEvent(EVENT_LOG_TAG, name);
+ EventLog.writeEvent(EventLogTags.WATCHDOG, name);
Process.sendSignal(Process.myPid(), Process.SIGNAL_QUIT);
// Wait a bit longer before killing so we can make sure that the stacks are captured.
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index 05d340e..df011a21 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -152,8 +152,6 @@ public class WindowManagerService extends IWindowManager.Stub
static final boolean BLUR = true;
static final boolean localLOGV = DEBUG;
- static final int LOG_WM_NO_SURFACE_MEMORY = 31000;
-
/** How long to wait for subsequent key repeats, in milliseconds */
static final int KEY_REPEAT_DELAY = 50;
@@ -193,7 +191,7 @@ public class WindowManagerService extends IWindowManager.Stub
static final int INJECT_FAILED = 0;
static final int INJECT_SUCCEEDED = 1;
static final int INJECT_NO_PERMISSION = -1;
-
+
static final int UPDATE_FOCUS_NORMAL = 0;
static final int UPDATE_FOCUS_WILL_ASSIGN_LAYERS = 1;
static final int UPDATE_FOCUS_PLACING_SURFACES = 2;
@@ -309,13 +307,13 @@ public class WindowManagerService extends IWindowManager.Stub
* animation. It will be used for the next exit animation.
*/
AppWindowToken mLastEnterAnimToken;
-
+
/**
* These were the layout params used to retrieve the last enter animation.
* They will be used for the next exit animation.
*/
LayoutParams mLastEnterAnimParams;
-
+
/**
* Z-ordered (bottom-most first) list of all Window objects.
*/
@@ -422,7 +420,7 @@ public class WindowManagerService extends IWindowManager.Stub
final ArrayList<WindowState> mInputMethodDialogs = new ArrayList<WindowState>();
final ArrayList<WindowToken> mWallpaperTokens = new ArrayList<WindowToken>();
-
+
// If non-null, this is the currently visible window that is associated
// with the wallpaper.
WindowState mWallpaperTarget = null;
@@ -447,7 +445,7 @@ public class WindowManagerService extends IWindowManager.Stub
static final long WALLPAPER_TIMEOUT = 150;
// Time we wait after a timeout before trying to wait again.
static final long WALLPAPER_TIMEOUT_RECOVERY = 10000;
-
+
AppWindowToken mFocusedApp = null;
PowerManagerService mPowerManager;
@@ -463,7 +461,7 @@ public class WindowManagerService extends IWindowManager.Stub
Session mHoldingScreenOn;
boolean mTurnOnScreen;
-
+
/**
* Whether the UI is currently running in touch mode (not showing
* navigational focus because the user is directly pressing the screen).
@@ -570,7 +568,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (MEASURE_LATENCY) {
lt = new LatencyTimer(100, 1000);
}
-
+
mContext = context;
mHaveInputMethods = haveInputMethods;
mLimitedAlphaCompositing = context.getResources().getBoolean(
@@ -728,7 +726,7 @@ public class WindowManagerService extends IWindowManager.Stub
i--;
break;
}
-
+
// We haven't reached the token yet; if this token
// is not going to the bottom and has windows, we can
// use it as an anchor for when we do reach the token.
@@ -1247,16 +1245,16 @@ public class WindowManagerService extends IWindowManager.Stub
|| mUpperWallpaperTarget != null
|| mLowerWallpaperTarget != null;
}
-
+
static final int ADJUST_WALLPAPER_LAYERS_CHANGED = 1<<1;
static final int ADJUST_WALLPAPER_VISIBILITY_CHANGED = 1<<2;
-
+
int adjustWallpaperWindowsLocked() {
int changed = 0;
-
+
final int dw = mDisplay.getWidth();
final int dh = mDisplay.getHeight();
-
+
// First find top-most window that has asked to be on top of the
// wallpaper; all wallpapers go behind it.
final ArrayList localmWindows = mWindows;
@@ -1332,19 +1330,19 @@ public class WindowManagerService extends IWindowManager.Stub
return 0;
}
}
-
+
if (mWallpaperTarget != foundW) {
if (DEBUG_WALLPAPER) {
Log.v(TAG, "New wallpaper target: " + foundW
+ " oldTarget: " + mWallpaperTarget);
}
-
+
mLowerWallpaperTarget = null;
mUpperWallpaperTarget = null;
-
+
WindowState oldW = mWallpaperTarget;
mWallpaperTarget = foundW;
-
+
// Now what is happening... if the current and new targets are
// animating, then we are in our super special mode!
if (foundW != null && oldW != null) {
@@ -1367,7 +1365,7 @@ public class WindowManagerService extends IWindowManager.Stub
+ "=" + oldW + "; new#" + foundI
+ "=" + foundW);
}
-
+
// Set the new target correctly.
if (foundW.mAppToken != null && foundW.mAppToken.hiddenRequested) {
if (DEBUG_WALLPAPER) {
@@ -1375,7 +1373,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
mWallpaperTarget = oldW;
}
-
+
// Now set the upper and lower wallpaper targets
// correctly, and make sure that we are positioning
// the wallpaper below the lower.
@@ -1399,7 +1397,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
} else if (mLowerWallpaperTarget != null) {
// Is it time to stop animating?
boolean lowerAnimating = mLowerWallpaperTarget.mAnimation != null
@@ -1416,25 +1414,25 @@ public class WindowManagerService extends IWindowManager.Stub
mUpperWallpaperTarget = null;
}
}
-
+
boolean visible = foundW != null;
if (visible) {
// The window is visible to the compositor... but is it visible
// to the user? That is what the wallpaper cares about.
visible = isWallpaperVisible(foundW);
if (DEBUG_WALLPAPER) Log.v(TAG, "Wallpaper visibility: " + visible);
-
+
// If the wallpaper target is animating, we may need to copy
// its layer adjustment. Only do this if we are not transfering
// between two wallpaper targets.
mWallpaperAnimLayerAdjustment =
(mLowerWallpaperTarget == null && foundW.mAppToken != null)
? foundW.mAppToken.animLayerAdjustment : 0;
-
+
final int maxLayer = mPolicy.getMaxWallpaperLayer()
* TYPE_LAYER_MULTIPLIER
+ TYPE_LAYER_OFFSET;
-
+
// Now w is the window we are supposed to be behind... but we
// need to be sure to also be behind any of its attached windows,
// AND any starting window associated with it, AND below the
@@ -1455,7 +1453,7 @@ public class WindowManagerService extends IWindowManager.Stub
} else {
if (DEBUG_WALLPAPER) Log.v(TAG, "No wallpaper target");
}
-
+
if (foundW == null && topCurW != null) {
// There is no wallpaper target, so it goes at the bottom.
// We will assume it is the same place as last time, if known.
@@ -1466,7 +1464,7 @@ public class WindowManagerService extends IWindowManager.Stub
// what is below it for later.
foundW = foundI > 0 ? (WindowState)localmWindows.get(foundI-1) : null;
}
-
+
if (visible) {
if (mWallpaperTarget.mWallpaperX >= 0) {
mLastWallpaperX = mWallpaperTarget.mWallpaperX;
@@ -1477,7 +1475,7 @@ public class WindowManagerService extends IWindowManager.Stub
mLastWallpaperYStep = mWallpaperTarget.mWallpaperYStep;
}
}
-
+
// Start stepping backwards from here, ensuring that our wallpaper windows
// are correctly placed.
int curTokenIndex = mWallpaperTokens.size();
@@ -1491,16 +1489,16 @@ public class WindowManagerService extends IWindowManager.Stub
// correct size.
mLayoutNeeded = true;
}
-
+
int curWallpaperIndex = token.windows.size();
while (curWallpaperIndex > 0) {
curWallpaperIndex--;
WindowState wallpaper = token.windows.get(curWallpaperIndex);
-
+
if (visible) {
updateWallpaperOffsetLocked(wallpaper, dw, dh, false);
}
-
+
// First, make sure the client has the current visibility
// state.
if (wallpaper.mWallpaperVisible != visible) {
@@ -1513,11 +1511,11 @@ public class WindowManagerService extends IWindowManager.Stub
} catch (RemoteException e) {
}
}
-
+
wallpaper.mAnimLayer = wallpaper.mLayer + mWallpaperAnimLayerAdjustment;
if (DEBUG_LAYERS || DEBUG_WALLPAPER) Log.v(TAG, "Wallpaper win "
+ wallpaper + " anim layer: " + wallpaper.mAnimLayer);
-
+
// First, if this window is at the current index, then all
// is well.
if (wallpaper == foundW) {
@@ -1526,7 +1524,7 @@ public class WindowManagerService extends IWindowManager.Stub
? (WindowState)localmWindows.get(foundI-1) : null;
continue;
}
-
+
// The window didn't match... the current wallpaper window,
// wherever it is, is in the wrong place, so make sure it is
// not in the list.
@@ -1539,17 +1537,17 @@ public class WindowManagerService extends IWindowManager.Stub
foundI--;
}
}
-
+
// Now stick it in.
if (DEBUG_WALLPAPER || DEBUG_WINDOW_MOVEMENT) Log.v(TAG,
"Moving wallpaper " + wallpaper
+ " from " + oldIndex + " to " + foundI);
-
+
localmWindows.add(foundI, wallpaper);
changed |= ADJUST_WALLPAPER_LAYERS_CHANGED;
}
}
-
+
return changed;
}
@@ -1591,7 +1589,7 @@ public class WindowManagerService extends IWindowManager.Stub
wallpaperWin.mWallpaperXStep = wpxs;
rawChanged = true;
}
-
+
float wpy = mLastWallpaperY >= 0 ? mLastWallpaperY : 0.5f;
float wpys = mLastWallpaperYStep >= 0 ? mLastWallpaperYStep : -1.0f;
int availh = wallpaperWin.mFrame.bottom-wallpaperWin.mFrame.top-dh;
@@ -1607,7 +1605,7 @@ public class WindowManagerService extends IWindowManager.Stub
wallpaperWin.mWallpaperYStep = wpys;
rawChanged = true;
}
-
+
if (rawChanged) {
try {
if (DEBUG_WALLPAPER) Log.v(TAG, "Report new wp offset "
@@ -1644,10 +1642,10 @@ public class WindowManagerService extends IWindowManager.Stub
} catch (RemoteException e) {
}
}
-
+
return changed;
}
-
+
void wallpaperOffsetsComplete(IBinder window) {
synchronized (mWindowMap) {
if (mWaitingOnWallpaper != null &&
@@ -1657,13 +1655,13 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
boolean updateWallpaperOffsetLocked(WindowState changingTarget, boolean sync) {
final int dw = mDisplay.getWidth();
final int dh = mDisplay.getHeight();
-
+
boolean changed = false;
-
+
WindowState target = mWallpaperTarget;
if (target != null) {
if (target.mWallpaperX >= 0) {
@@ -1677,7 +1675,7 @@ public class WindowManagerService extends IWindowManager.Stub
mLastWallpaperY = changingTarget.mWallpaperY;
}
}
-
+
int curTokenIndex = mWallpaperTokens.size();
while (curTokenIndex > 0) {
curTokenIndex--;
@@ -1694,15 +1692,15 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
return changed;
}
-
+
void updateWallpaperVisibilityLocked() {
final boolean visible = isWallpaperVisible(mWallpaperTarget);
final int dw = mDisplay.getWidth();
final int dh = mDisplay.getHeight();
-
+
int curTokenIndex = mWallpaperTokens.size();
while (curTokenIndex > 0) {
curTokenIndex--;
@@ -1713,7 +1711,7 @@ public class WindowManagerService extends IWindowManager.Stub
// correct size.
mLayoutNeeded = true;
}
-
+
int curWallpaperIndex = token.windows.size();
while (curWallpaperIndex > 0) {
curWallpaperIndex--;
@@ -1721,7 +1719,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (visible) {
updateWallpaperOffsetLocked(wallpaper, dw, dh, false);
}
-
+
if (wallpaper.mWallpaperVisible != visible) {
wallpaper.mWallpaperVisible = visible;
try {
@@ -1735,7 +1733,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
void sendPointerToWallpaperLocked(WindowState srcWin,
MotionEvent pointer, long eventTime) {
int curTokenIndex = mWallpaperTokens.size();
@@ -1773,7 +1771,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
public int addWindow(Session session, IWindow client,
WindowManager.LayoutParams attrs, int viewVisibility,
Rect outContentInsets) {
@@ -2080,7 +2078,7 @@ public class WindowManagerService extends IWindowManager.Stub
e.fillInStackTrace();
Log.w(TAG, "Removing window " + win, e);
}
-
+
mPolicy.removeWindowLw(win);
win.removeLocked();
@@ -2137,7 +2135,7 @@ public class WindowManagerService extends IWindowManager.Stub
} else if ((win.mAttrs.flags&FLAG_SHOW_WALLPAPER) != 0) {
adjustWallpaperWindowsLocked();
}
-
+
if (!mInLayout) {
assignLayersLocked();
mLayoutNeeded = true;
@@ -2217,7 +2215,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
void wallpaperCommandComplete(IBinder window, Bundle result) {
synchronized (mWindowMap) {
if (mWaitingOnWallpaper != null &&
@@ -2227,7 +2225,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
public Bundle sendWindowWallpaperCommandLocked(WindowState window,
String action, int x, int y, int z, Bundle extras, boolean sync) {
if (window == mWallpaperTarget || window == mLowerWallpaperTarget
@@ -2250,15 +2248,15 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
if (doWait) {
// XXX Need to wait for result.
}
}
-
+
return null;
}
-
+
public int relayoutWindow(Session session, IWindow client,
WindowManager.LayoutParams attrs, int requestedWidth,
int requestedHeight, int viewVisibility, boolean insetsPending,
@@ -2319,7 +2317,7 @@ public class WindowManagerService extends IWindowManager.Stub
boolean wallpaperMayMove = win.mViewVisibility != viewVisibility
&& (win.mAttrs.flags & FLAG_SHOW_WALLPAPER) != 0;
-
+
win.mRelayoutCalled = true;
final int oldVisibility = win.mViewVisibility;
win.mViewVisibility = viewVisibility;
@@ -2417,7 +2415,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
if (win.mSurface == null || (win.getAttrs().flags
& WindowManager.LayoutParams.FLAG_KEEP_SURFACE_WHILE_ANIMATING) == 0
|| win.mSurfacePendingDestroy) {
@@ -3014,7 +3012,7 @@ public class WindowManagerService extends IWindowManager.Stub
"updateOrientationFromAppTokens()")) {
throw new SecurityException("Requires MANAGE_APP_TOKENS permission");
}
-
+
Configuration config;
long ident = Binder.clearCallingIdentity();
config = updateOrientationFromAppTokensUnchecked(currentConfig,
@@ -3207,7 +3205,7 @@ public class WindowManagerService extends IWindowManager.Stub
mNextAppTransitionExit = exitAnim;
}
}
-
+
public void executeAppTransition() {
if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS,
"executeAppTransition()")) {
@@ -3375,7 +3373,7 @@ public class WindowManagerService extends IWindowManager.Stub
return;
}
}
-
+
mStartingIconInTransition = true;
wtoken.startingData = new StartingData(
pkg, theme, nonLocalizedLabel,
@@ -3543,14 +3541,14 @@ public class WindowManagerService extends IWindowManager.Stub
mOpeningApps.add(wtoken);
wtoken.startingDisplayed = false;
wtoken.startingMoved = false;
-
+
// If the token is currently hidden (should be the
// common case), then we need to set up to wait for
// its windows to be ready.
if (wtoken.hidden) {
wtoken.allDrawn = false;
wtoken.waitingToShow = true;
-
+
if (wtoken.clientHidden) {
// In the case where we are making an app visible
// but holding off for a transition, we still need
@@ -3564,7 +3562,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
} else {
mClosingApps.add(wtoken);
-
+
// If the token is currently visible (should be the
// common case), then set up to wait for it to be hidden.
if (!wtoken.hidden) {
@@ -4008,7 +4006,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
if (mNextAppTransition == WindowManagerPolicy.TRANSIT_UNSET) {
moveAppWindowsLocked(tokens, mAppTokens.size());
}
@@ -4041,7 +4039,7 @@ public class WindowManagerService extends IWindowManager.Stub
pos++;
}
}
-
+
if (mNextAppTransition == WindowManagerPolicy.TRANSIT_UNSET) {
moveAppWindowsLocked(tokens, 0);
}
@@ -4126,7 +4124,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
static float fixScale(float scale) {
if (scale < 0) scale = 0;
else if (scale > 20) scale = 20;
@@ -4745,7 +4743,7 @@ public class WindowManagerService extends IWindowManager.Stub
orientation = Configuration.ORIENTATION_LANDSCAPE;
}
config.orientation = orientation;
-
+
DisplayMetrics dm = new DisplayMetrics();
mDisplay.getMetrics(dm);
CompatibilityInfo.updateCompatibleScreenFrame(dm, orientation, mCompatibleScreenFrame);
@@ -4780,7 +4778,7 @@ public class WindowManagerService extends IWindowManager.Stub
mScreenLayout = Configuration.SCREENLAYOUT_SIZE_LARGE;
} else {
mScreenLayout = Configuration.SCREENLAYOUT_SIZE_NORMAL;
-
+
// If this screen is wider than normal HVGA, or taller
// than FWVGA, then for old apps we want to run in size
// compatibility mode.
@@ -4788,7 +4786,7 @@ public class WindowManagerService extends IWindowManager.Stub
mScreenLayout |= Configuration.SCREENLAYOUT_COMPAT_NEEDED;
}
}
-
+
// Is this a long screen?
if (((longSize*3)/5) >= (shortSize-1)) {
// Anything wider than WVGA (5:3) is considering to be long.
@@ -4799,7 +4797,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
config.screenLayout = mScreenLayout;
-
+
config.keyboardHidden = Configuration.KEYBOARDHIDDEN_NO;
config.hardKeyboardHidden = Configuration.HARDKEYBOARDHIDDEN_NO;
mPolicy.adjustConfigurationLw(config);
@@ -4879,7 +4877,7 @@ public class WindowManagerService extends IWindowManager.Stub
Object targetObj = mKeyWaiter.waitForNextEventTarget(null, qev,
ev, true, false, pid, uid);
-
+
if (MEASURE_LATENCY) {
lt.sample("3 Last dispatch finished ", System.nanoTime() - qev.whenNano);
}
@@ -4933,7 +4931,7 @@ public class WindowManagerService extends IWindowManager.Stub
final long eventTime = ev.getEventTime();
final long eventTimeNano = ev.getEventTimeNano();
-
+
//Log.i(TAG, "Sending " + ev + " to " + target);
if (uid != 0 && uid != target.mSession.mUid) {
@@ -4950,7 +4948,7 @@ public class WindowManagerService extends IWindowManager.Stub
return INJECT_NO_PERMISSION;
}
}
-
+
if (MEASURE_LATENCY) {
lt.sample("4 in dispatchPointer ", System.nanoTime() - eventTimeNano);
}
@@ -5054,7 +5052,7 @@ public class WindowManagerService extends IWindowManager.Stub
ev.recycle();
return INJECT_SUCCEEDED;
}
-
+
if (qev != null && action == MotionEvent.ACTION_MOVE) {
mKeyWaiter.bindTargetWindowLocked(target,
KeyWaiter.RETURN_PENDING_POINTER, qev);
@@ -5079,13 +5077,13 @@ public class WindowManagerService extends IWindowManager.Stub
mKeyWaiter.mOutsideTouchTargets = null;
}
}
-
+
// If we are on top of the wallpaper, then the wallpaper also
// gets to see this movement.
if (mWallpaperTarget == target || mSendingPointersToWallpaper) {
sendPointerToWallpaperLocked(null, ev, eventTime);
}
-
+
final Rect frame = target.mFrame;
ev.offsetLocation(-(float)frame.left, -(float)frame.top);
mKeyWaiter.bindTargetWindowLocked(target);
@@ -5098,7 +5096,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (DEBUG_INPUT || DEBUG_FOCUS || WindowManagerPolicy.WATCH_POINTER) {
Log.v(TAG, "Delivering pointer " + qev + " to " + target);
}
-
+
if (MEASURE_LATENCY) {
lt.sample("6 before svr->client ipc ", System.nanoTime() - eventTimeNano);
}
@@ -5219,7 +5217,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (event.getRepeatCount() > 0 && mQueue.hasKeyUpEvent(event)) {
return INJECT_SUCCEEDED;
}
-
+
WindowState focus = (WindowState)focusObj;
if (DEBUG_INPUT) Log.v(
@@ -5704,7 +5702,7 @@ public class WindowManagerService extends IWindowManager.Stub
final int repeatCount = nextKey.getRepeatCount();
final boolean down = nextKey.getAction() != KeyEvent.ACTION_UP;
boolean dispatch = mKeyWaiter.checkShouldDispatchKey(keycode);
-
+
if (!dispatch) {
if (callingUid == 0 ||
mContext.checkPermission(
@@ -5736,7 +5734,7 @@ public class WindowManagerService extends IWindowManager.Stub
callingPid, callingUid)
== PackageManager.PERMISSION_GRANTED) {
if (mPolicy.interceptKeyTi(focus,
- keycode, nextKey.getMetaState(), down, repeatCount,
+ keycode, nextKey.getMetaState(), down, repeatCount,
nextKey.getFlags())) {
return CONSUMED_EVENT_TOKEN;
}
@@ -5967,7 +5965,7 @@ public class WindowManagerService extends IWindowManager.Stub
MotionEvent res = null;
QueuedEvent qev = null;
WindowState win = null;
-
+
synchronized (this) {
if (DEBUG_INPUT) Log.v(
TAG, "finishedKey: client=" + client.asBinder()
@@ -6011,7 +6009,7 @@ public class WindowManagerService extends IWindowManager.Stub
res.offsetLocation(-win.mFrame.left, -win.mFrame.top);
}
}
-
+
if (res != null && returnWhat == RETURN_PENDING_POINTER) {
synchronized (mWindowMap) {
if (mWallpaperTarget == win || mSendingPointersToWallpaper) {
@@ -6020,7 +6018,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
return res;
}
@@ -6703,11 +6701,11 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
public void wallpaperOffsetsComplete(IBinder window) {
WindowManagerService.this.wallpaperOffsetsComplete(window);
}
-
+
public Bundle sendWallpaperCommand(IBinder window, String action, int x, int y,
int z, Bundle extras, boolean sync) {
synchronized(mWindowMap) {
@@ -6721,11 +6719,11 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
public void wallpaperCommandComplete(IBinder window, Bundle result) {
WindowManagerService.this.wallpaperCommandComplete(window, result);
}
-
+
void windowAddedLocked() {
if (mSurfaceSession == null) {
if (localLOGV) Log.v(
@@ -6920,7 +6918,7 @@ public class WindowManagerService extends IWindowManager.Stub
// Wallpaper windows: pixels offset based on above variables.
int mXOffset;
int mYOffset;
-
+
// This is set after IWindowSession.relayout() has been called at
// least once for the window. It allows us to detect the situation
// where we don't yet have a surface, but should have one soon, so
@@ -7103,7 +7101,7 @@ public class WindowManagerService extends IWindowManager.Stub
// Now make sure the window fits in the overall display.
Gravity.applyDisplay(mAttrs.gravity, df, frame);
-
+
// Make sure the content and visible frames are inside of the
// final window frame.
if (content.left < frame.left) content.left = frame.left;
@@ -7131,7 +7129,7 @@ public class WindowManagerService extends IWindowManager.Stub
updateWallpaperOffsetLocked(this, mDisplay.getWidth(),
mDisplay.getHeight(), false);
}
-
+
if (localLOGV) {
//if ("com.google.android.youtube".equals(mAttrs.packageName)
// && mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_PANEL) {
@@ -7334,7 +7332,7 @@ public class WindowManagerService extends IWindowManager.Stub
WindowState c = (WindowState)mChildWindows.get(i);
c.mAttachedHidden = true;
}
-
+
if (mReportDestroySurface) {
mReportDestroySurface = false;
mSurfacePendingDestroy = true;
@@ -7345,7 +7343,7 @@ public class WindowManagerService extends IWindowManager.Stub
} catch (RemoteException e) {
}
}
-
+
try {
if (DEBUG_VISIBILITY) {
RuntimeException e = new RuntimeException();
@@ -7365,7 +7363,7 @@ public class WindowManagerService extends IWindowManager.Stub
+ " surface " + mSurface + " session " + mSession
+ ": " + e.toString());
}
-
+
mSurface = null;
}
}
@@ -7443,7 +7441,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (mAttrs.type != TYPE_APPLICATION_STARTING
&& mAppToken != null) {
mAppToken.firstWindowDrawn = true;
-
+
if (mAppToken.startingData != null) {
if (DEBUG_STARTING_WINDOW || DEBUG_ANIM) Log.v(TAG,
"Finish starting " + mToken
@@ -7633,7 +7631,7 @@ public class WindowManagerService extends IWindowManager.Stub
Transformation appTransformation =
(mAppToken != null && mAppToken.hasTransformation)
? mAppToken.transformation : null;
-
+
// Wallpapers are animated based on the "real" window they
// are currently targeting.
if (mAttrs.type == TYPE_WALLPAPER && mLowerWallpaperTarget == null
@@ -7656,7 +7654,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
if (selfTransformation || attachedTransformation != null
|| appTransformation != null) {
// cache often used attributes locally
@@ -8191,19 +8189,19 @@ public class WindowManagerService extends IWindowManager.Stub
// Set to true when this token is in a pending transaction where it
// will be shown.
boolean waitingToShow;
-
+
// Set to true when this token is in a pending transaction where it
// will be hidden.
boolean waitingToHide;
-
+
// Set to true when this token is in a pending transaction where its
// windows will be put to the bottom of the list.
boolean sendingToBottom;
-
+
// Set to true when this token is in a pending transaction where its
// windows will be put to the top of the list.
boolean sendingToTop;
-
+
WindowToken(IBinder _token, int type, boolean _explicit) {
token = _token;
windowType = type;
@@ -8534,7 +8532,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
return null;
}
-
+
void dump(PrintWriter pw, String prefix) {
super.dump(pw, prefix);
if (appToken != null) {
@@ -9050,7 +9048,7 @@ public class WindowManagerService extends IWindowManager.Stub
int i;
int lastWallpaper = -1;
int numRemoved = 0;
-
+
// First remove all existing app windows.
i=0;
while (i < NW) {
@@ -9068,12 +9066,12 @@ public class WindowManagerService extends IWindowManager.Stub
}
i++;
}
-
+
// The wallpaper window(s) typically live at the bottom of the stack,
// so skip them before adding app tokens.
lastWallpaper++;
i = lastWallpaper;
-
+
// First add all of the exiting app tokens... these are no longer
// in the main app list, but still have windows shown. We put them
// in the back because now that the animation is over we no longer
@@ -9082,20 +9080,20 @@ public class WindowManagerService extends IWindowManager.Stub
for (int j=0; j<NT; j++) {
i = reAddAppWindowsLocked(i, mExitingAppTokens.get(j));
}
-
+
// And add in the still active app tokens in Z order.
NT = mAppTokens.size();
for (int j=0; j<NT; j++) {
i = reAddAppWindowsLocked(i, mAppTokens.get(j));
}
-
+
i -= lastWallpaper;
if (i != numRemoved) {
Log.w(TAG, "Rebuild removed " + numRemoved
+ " windows but added " + i);
}
}
-
+
private final void assignLayersLocked() {
int N = mWindows.size();
int curBaseLayer = 0;
@@ -9357,7 +9355,7 @@ public class WindowManagerService extends IWindowManager.Stub
mPolicy.beginAnimationLw(dw, dh);
final int N = mWindows.size();
-
+
for (i=N-1; i>=0; i--) {
WindowState w = (WindowState)mWindows.get(i);
@@ -9373,7 +9371,7 @@ public class WindowManagerService extends IWindowManager.Stub
wallpaperMayChange = true;
}
}
-
+
boolean wasAnimating = w.mAnimating;
if (w.stepAnimationLocked(currentTime, dw, dh)) {
animating = true;
@@ -9382,7 +9380,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (wasAnimating && !w.mAnimating && mWallpaperTarget == w) {
wallpaperMayChange = true;
}
-
+
if (mPolicy.doesForceHide(w, attrs)) {
if (!wasAnimating && animating) {
wallpaperForceHidingChanged = true;
@@ -9413,7 +9411,7 @@ public class WindowManagerService extends IWindowManager.Stub
wallpaperMayChange = true;
}
}
-
+
mPolicy.animatingWindowLw(w, attrs);
}
@@ -9562,18 +9560,18 @@ public class WindowManagerService extends IWindowManager.Stub
}
mToTopApps.clear();
}
-
+
WindowState oldWallpaper = mWallpaperTarget;
-
+
adjustWallpaperWindowsLocked();
wallpaperMayChange = false;
-
+
// The top-most window will supply the layout params,
// and we will determine it below.
LayoutParams animLp = null;
AppWindowToken animToken = null;
int bestAnimLayer = -1;
-
+
if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
"New wallpaper target=" + mWallpaperTarget
+ ", lower target=" + mLowerWallpaperTarget
@@ -9624,7 +9622,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
if (foundWallpapers == 3) {
if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
"Wallpaper animation!");
@@ -9655,7 +9653,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
"New transit into wallpaper: " + transit);
}
-
+
if ((transit&WindowManagerPolicy.TRANSIT_ENTER_MASK) != 0) {
mLastEnterAnimToken = animToken;
mLastEnterAnimParams = animLp;
@@ -9664,7 +9662,7 @@ public class WindowManagerService extends IWindowManager.Stub
mLastEnterAnimToken = null;
mLastEnterAnimParams = null;
}
-
+
NN = mOpeningApps.size();
for (i=0; i<NN; i++) {
AppWindowToken wtoken = mOpeningApps.get(i);
@@ -9695,7 +9693,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
mNextAppTransitionPackage = null;
-
+
mOpeningApps.clear();
mClosingApps.clear();
@@ -9712,7 +9710,7 @@ public class WindowManagerService extends IWindowManager.Stub
restart = true;
}
}
-
+
if (!animating && mAppTransitionRunning) {
// We have finished the animation of an app transition. To do
// this, we have delayed a lot of operations like showing and
@@ -9723,7 +9721,7 @@ public class WindowManagerService extends IWindowManager.Stub
mAppTransitionRunning = false;
// Clear information about apps that were moving.
mToBottomApps.clear();
-
+
rebuildAppWindowListLocked();
restart = true;
moveInputMethodWindowsIfNeededLocked(false);
@@ -9734,9 +9732,9 @@ public class WindowManagerService extends IWindowManager.Stub
// might have changed again.
focusMayChange = true;
}
-
+
int adjResult = 0;
-
+
if (wallpaperForceHidingChanged) {
// At this point, there was a window with a wallpaper that
// was force hiding other windows behind it, but now it
@@ -9771,13 +9769,13 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
if (wallpaperMayChange) {
if (DEBUG_WALLPAPER) Log.v(TAG,
"Wallpaper may change! Adjusting");
adjResult = adjustWallpaperWindowsLocked();
}
-
+
if ((adjResult&ADJUST_WALLPAPER_LAYERS_CHANGED) != 0) {
if (DEBUG_WALLPAPER) Log.v(TAG,
"Wallpaper layer changed: assigning layers + relayout");
@@ -9790,7 +9788,7 @@ public class WindowManagerService extends IWindowManager.Stub
restart = true;
mLayoutNeeded = true;
}
-
+
if (focusMayChange) {
if (updateFocusedWindowLocked(UPDATE_FOCUS_PLACING_SURFACES)) {
restart = true;
@@ -9802,7 +9800,7 @@ public class WindowManagerService extends IWindowManager.Stub
restart = true;
performLayoutLockedInner();
}
-
+
} while (restart);
// THIRD LOOP: Update the surfaces of all windows.
@@ -9817,7 +9815,7 @@ public class WindowManagerService extends IWindowManager.Stub
boolean backgroundFillerShown = false;
final int N = mWindows.size();
-
+
for (i=N-1; i>=0; i--) {
WindowState w = (WindowState)mWindows.get(i);
@@ -10067,7 +10065,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
final boolean obscuredChanged = w.mObscured != obscured;
-
+
// Update effect.
if (!(w.mObscured=obscured)) {
if (w.mSurface != null) {
@@ -10172,7 +10170,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
}
-
+
if (obscuredChanged && mWallpaperTarget == w) {
// This is the wallpaper target and its obscured state
// changed... make sure the current wallaper's visibility
@@ -10180,7 +10178,7 @@ public class WindowManagerService extends IWindowManager.Stub
updateWallpaperVisibilityLocked();
}
}
-
+
if (backgroundFillerShown == false && mBackgroundFillerShown) {
mBackgroundFillerShown = false;
if (SHOW_TRANSACTIONS) Log.d(TAG, "hiding background filler");
@@ -10295,7 +10293,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
boolean needRelayout = false;
-
+
if (!animating && mAppTransitionRunning) {
// We have finished the animation of an app transition. To do
// this, we have delayed a lot of operations like showing and
@@ -10309,7 +10307,7 @@ public class WindowManagerService extends IWindowManager.Stub
// Clear information about apps that were moving.
mToBottomApps.clear();
}
-
+
if (focusDisplayed) {
mH.sendEmptyMessage(H.REPORT_LOSING_FOCUS);
}
@@ -10339,7 +10337,7 @@ public class WindowManagerService extends IWindowManager.Stub
Message m = mH.obtainMessage(H.HOLD_SCREEN_CHANGED, holdScreen);
mH.sendMessage(m);
}
-
+
if (mTurnOnScreen) {
mPowerManager.userActivity(SystemClock.uptimeMillis(), false,
LocalPowerManager.BUTTON_EVENT, true);
@@ -10384,7 +10382,7 @@ public class WindowManagerService extends IWindowManager.Stub
void reclaimSomeSurfaceMemoryLocked(WindowState win, String operation) {
final Surface surface = win.mSurface;
- EventLog.writeEvent(LOG_WM_NO_SURFACE_MEMORY, win.toString(),
+ EventLog.writeEvent(EventLogTags.WM_NO_SURFACE_MEMORY, win.toString(),
win.mSession.mPid, operation);
if (mForceRemoves == null) {
@@ -10888,10 +10886,10 @@ public class WindowManagerService extends IWindowManager.Stub
public void virtualKeyFeedback(KeyEvent event) {
mPolicy.keyFeedbackFromInput(event);
}
-
+
/**
* DimAnimator class that controls the dim animation. This holds the surface and
- * all state used for dim animation.
+ * all state used for dim animation.
*/
private static class DimAnimator {
Surface mDimSurface;
@@ -10962,7 +10960,7 @@ public class WindowManagerService extends IWindowManager.Stub
mDimDeltaPerMs = (mDimTargetAlpha-mDimCurrentAlpha) / duration;
}
}
-
+
/**
* Updating the surface's alpha. Returns true if the animation continues, or returns
* false when the animation is finished and the dim surface is hidden.
@@ -10975,7 +10973,7 @@ public class WindowManagerService extends IWindowManager.Stub
mDimDeltaPerMs = (-mDimCurrentAlpha) / DEFAULT_DIM_DURATION;
}
}
-
+
boolean animating = false;
if (mLastDimAnimTime != 0) {
mDimCurrentAlpha += mDimDeltaPerMs