Merge "Log SizeCompatRestartButtonEventReported atom." into sc-v2-dev am: 73fbff2cc4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15580431

Change-Id: I3c812707123785ad88cab81b5d7bb5150d308b6e
This commit is contained in:
Tom Natan
2021-08-19 23:23:27 +00:00
committed by Automerger Merge Worker
3 changed files with 34 additions and 2 deletions

View File

@@ -31,6 +31,7 @@ import android.app.ActivityManager.RunningTaskInfo;
import android.app.TaskInfo; import android.app.TaskInfo;
import android.content.Context; import android.content.Context;
import android.content.LocusId; import android.content.LocusId;
import android.content.pm.ActivityInfo;
import android.graphics.Rect; import android.graphics.Rect;
import android.os.Binder; import android.os.Binder;
import android.os.IBinder; import android.os.IBinder;
@@ -46,6 +47,7 @@ import android.window.TaskOrganizer;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.protolog.common.ProtoLog; import com.android.internal.protolog.common.ProtoLog;
import com.android.internal.util.FrameworkStatsLog;
import com.android.wm.shell.common.ScreenshotUtils; import com.android.wm.shell.common.ScreenshotUtils;
import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.sizecompatui.SizeCompatUIController; import com.android.wm.shell.sizecompatui.SizeCompatUIController;
@@ -487,15 +489,41 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
} }
} }
@Override
public void onSizeCompatRestartButtonAppeared(int taskId) {
final TaskAppearedInfo info;
synchronized (mLock) {
info = mTasks.get(taskId);
}
if (info == null) {
return;
}
logSizeCompatRestartButtonEventReported(info,
FrameworkStatsLog.SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED__EVENT__APPEARED);
}
@Override @Override
public void onSizeCompatRestartButtonClicked(int taskId) { public void onSizeCompatRestartButtonClicked(int taskId) {
final TaskAppearedInfo info; final TaskAppearedInfo info;
synchronized (mLock) { synchronized (mLock) {
info = mTasks.get(taskId); info = mTasks.get(taskId);
} }
if (info != null) { if (info == null) {
return;
}
logSizeCompatRestartButtonEventReported(info,
FrameworkStatsLog.SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED__EVENT__CLICKED);
restartTaskTopActivityProcessIfVisible(info.getTaskInfo().token); restartTaskTopActivityProcessIfVisible(info.getTaskInfo().token);
} }
private void logSizeCompatRestartButtonEventReported(@NonNull TaskAppearedInfo info,
int event) {
ActivityInfo topActivityInfo = info.getTaskInfo().topActivityInfo;
if (topActivityInfo == null) {
return;
}
FrameworkStatsLog.write(FrameworkStatsLog.SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED,
topActivityInfo.applicationInfo.uid, event);
} }
/** /**

View File

@@ -47,6 +47,8 @@ public class SizeCompatUIController implements DisplayController.OnDisplaysChang
/** Callback for size compat UI interaction. */ /** Callback for size compat UI interaction. */
public interface SizeCompatUICallback { public interface SizeCompatUICallback {
/** Called when the size compat restart button appears. */
void onSizeCompatRestartButtonAppeared(int taskId);
/** Called when the size compat restart button is clicked. */ /** Called when the size compat restart button is clicked. */
void onSizeCompatRestartButtonClicked(int taskId); void onSizeCompatRestartButtonClicked(int taskId);
} }

View File

@@ -106,6 +106,8 @@ class SizeCompatUILayout {
mShouldShowHint = false; mShouldShowHint = false;
createSizeCompatHint(); createSizeCompatHint();
} }
mCallback.onSizeCompatRestartButtonAppeared(mTaskId);
} }
/** Creates the restart button hint window. */ /** Creates the restart button hint window. */