diff options
| -rw-r--r-- | cmds/statsd/src/atoms.proto | 20 | ||||
| -rw-r--r-- | services/core/java/com/android/server/VibratorService.java | 21 |
2 files changed, 32 insertions, 9 deletions
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto index 6065bbfc3f90..97891b0929b4 100644 --- a/cmds/statsd/src/atoms.proto +++ b/cmds/statsd/src/atoms.proto @@ -128,6 +128,7 @@ message Atom { LowMemReported low_mem_reported = 81; GenericAtom generic_atom = 82; KeyValuePairsAtom key_value_pairs_atom = 83; + VibratorStateChanged vibrator_state_changed = 84; } // Pulled events will start at field 10000. @@ -1410,6 +1411,25 @@ message ANROccurred { optional ForegroundState foreground_state = 6; } +/** + * Logs when the vibrator state changes. + * Logged from: + * frameworks/base/services/core/java/com/android/server/VibratorService.java + */ +message VibratorStateChanged { + repeated AttributionNode attribution_node = 1; + + enum State { + OFF = 0; + ON = 1; + } + optional State state = 2; + + // Duration (in milliseconds) requested to keep the vibrator on. + // Only applicable for State == ON. + optional int64 duration_millis = 3; +} + /* * Allows other apps to push events into statsd. * Logged from: diff --git a/services/core/java/com/android/server/VibratorService.java b/services/core/java/com/android/server/VibratorService.java index ae3946a40521..b2be5e6b5f8e 100644 --- a/services/core/java/com/android/server/VibratorService.java +++ b/services/core/java/com/android/server/VibratorService.java @@ -27,47 +27,46 @@ import android.database.ContentObserver; import android.hardware.input.InputManager; import android.hardware.vibrator.V1_0.EffectStrength; import android.icu.text.DateFormat; +import android.media.AudioAttributes; import android.media.AudioManager; -import android.os.PowerManager.ServiceType; -import android.os.PowerSaveState; import android.os.BatteryStats; +import android.os.Binder; import android.os.Handler; +import android.os.IBinder; import android.os.IVibratorService; import android.os.PowerManager; +import android.os.PowerManager.ServiceType; import android.os.PowerManagerInternal; +import android.os.PowerSaveState; import android.os.Process; import android.os.RemoteException; import android.os.ResultReceiver; -import android.os.IBinder; -import android.os.Binder; import android.os.ServiceManager; import android.os.ShellCallback; import android.os.ShellCommand; import android.os.SystemClock; import android.os.Trace; import android.os.UserHandle; -import android.os.Vibrator; import android.os.VibrationEffect; +import android.os.Vibrator; import android.os.WorkSource; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.util.DebugUtils; import android.util.Slog; import android.util.SparseArray; +import android.util.StatsLog; import android.view.InputDevice; -import android.media.AudioAttributes; import com.android.internal.annotations.GuardedBy; -import com.android.internal.app.IAppOpsService; import com.android.internal.app.IBatteryStats; import com.android.internal.util.DumpUtils; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; import java.util.Date; +import java.util.LinkedList; public class VibratorService extends IVibratorService.Stub implements InputManager.InputDeviceListener { @@ -1048,6 +1047,8 @@ public class VibratorService extends IVibratorService.Stub private void noteVibratorOnLocked(int uid, long millis) { try { mBatteryStatsService.noteVibratorOn(uid, millis); + StatsLog.write_non_chained(StatsLog.VIBRATOR_STATE_CHANGED, uid, null, + StatsLog.VIBRATOR_STATE_CHANGED__STATE__ON, millis); mCurVibUid = uid; } catch (RemoteException e) { } @@ -1057,6 +1058,8 @@ public class VibratorService extends IVibratorService.Stub if (mCurVibUid >= 0) { try { mBatteryStatsService.noteVibratorOff(mCurVibUid); + StatsLog.write_non_chained(StatsLog.VIBRATOR_STATE_CHANGED, mCurVibUid, null, + StatsLog.VIBRATOR_STATE_CHANGED__STATE__OFF, 0); } catch (RemoteException e) { } mCurVibUid = -1; } |