Merge "Use FrameworkStatsLog instead of StatsLogInternal" into rvc-dev am: 596a1f6f4e
Change-Id: I460b9ce52c3cc8eaa506c6846d831e7c34e96163
This commit is contained in:
@@ -16,10 +16,6 @@
|
||||
|
||||
package android.app;
|
||||
|
||||
import static android.util.StatsLogInternal.RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__DEFAULT;
|
||||
import static android.util.StatsLogInternal.RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__RARELY_USED;
|
||||
import static android.util.StatsLogInternal.RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__UNIFORM;
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.CallbackExecutor;
|
||||
import android.annotation.IntDef;
|
||||
@@ -74,6 +70,7 @@ import com.android.internal.os.RuntimeInit;
|
||||
import com.android.internal.os.ZygoteInit;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
import com.android.internal.util.DataClass;
|
||||
import com.android.internal.util.FrameworkStatsLog;
|
||||
import com.android.internal.util.Parcelling;
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
@@ -666,15 +663,31 @@ public class AppOpsManager {
|
||||
}
|
||||
}
|
||||
|
||||
// These constants are redefined here to work around a metalava limitation/bug where
|
||||
// @IntDef is not able to see @hide symbols when they are hidden via package hiding:
|
||||
// frameworks/base/core/java/com/android/internal/package.html
|
||||
|
||||
/** @hide */
|
||||
public static final int SAMPLING_STRATEGY_DEFAULT =
|
||||
FrameworkStatsLog.RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__DEFAULT;
|
||||
|
||||
/** @hide */
|
||||
public static final int SAMPLING_STRATEGY_UNIFORM =
|
||||
FrameworkStatsLog.RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__UNIFORM;
|
||||
|
||||
/** @hide */
|
||||
public static final int SAMPLING_STRATEGY_RARELY_USED =
|
||||
FrameworkStatsLog.RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__RARELY_USED;
|
||||
|
||||
/**
|
||||
* Strategies used for message sampling
|
||||
* @hide
|
||||
*/
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef(prefix = {"RUNTIME_APP_OPS_ACCESS__SAMPLING_STRATEGY__"}, value = {
|
||||
RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__DEFAULT,
|
||||
RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__UNIFORM,
|
||||
RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__RARELY_USED
|
||||
@IntDef(prefix = {"SAMPLING_STRATEGY_"}, value = {
|
||||
SAMPLING_STRATEGY_DEFAULT,
|
||||
SAMPLING_STRATEGY_UNIFORM,
|
||||
SAMPLING_STRATEGY_RARELY_USED
|
||||
})
|
||||
public @interface SamplingStrategy {}
|
||||
|
||||
|
||||
@@ -40,6 +40,8 @@ import static android.app.AppOpsManager.OP_NONE;
|
||||
import static android.app.AppOpsManager.OP_PLAY_AUDIO;
|
||||
import static android.app.AppOpsManager.OP_RECORD_AUDIO;
|
||||
import static android.app.AppOpsManager.OpEventProxyInfo;
|
||||
import static android.app.AppOpsManager.SAMPLING_STRATEGY_RARELY_USED;
|
||||
import static android.app.AppOpsManager.SAMPLING_STRATEGY_UNIFORM;
|
||||
import static android.app.AppOpsManager.UID_STATE_BACKGROUND;
|
||||
import static android.app.AppOpsManager.UID_STATE_CACHED;
|
||||
import static android.app.AppOpsManager.UID_STATE_FOREGROUND;
|
||||
@@ -60,8 +62,6 @@ import static android.content.Intent.ACTION_PACKAGE_REMOVED;
|
||||
import static android.content.Intent.EXTRA_REPLACING;
|
||||
import static android.content.pm.PermissionInfo.PROTECTION_DANGEROUS;
|
||||
import static android.content.pm.PermissionInfo.PROTECTION_FLAG_APPOP;
|
||||
import static android.util.StatsLogInternal.RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__RARELY_USED;
|
||||
import static android.util.StatsLogInternal.RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__UNIFORM;
|
||||
|
||||
import static com.android.server.appop.AppOpsService.ModeCallback.ALL_OPS;
|
||||
|
||||
@@ -5683,7 +5683,7 @@ public class AppOpsService extends IAppOpsService.Stub {
|
||||
if (mRarelyUsedPackages.contains(packageName)) {
|
||||
mRarelyUsedPackages.remove(packageName);
|
||||
if (ThreadLocalRandom.current().nextFloat() < 0.5f) {
|
||||
mSamplingStrategy = RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__RARELY_USED;
|
||||
mSamplingStrategy = SAMPLING_STRATEGY_RARELY_USED;
|
||||
resampleAppOpForPackageLocked(packageName);
|
||||
}
|
||||
}
|
||||
@@ -5692,7 +5692,7 @@ public class AppOpsService extends IAppOpsService.Stub {
|
||||
/** Resamples package and appop to watch from the list provided. */
|
||||
private void resamplePackageAndAppOpLocked(@NonNull List<String> packageNames) {
|
||||
if (!packageNames.isEmpty()) {
|
||||
mSamplingStrategy = RUNTIME_APP_OP_ACCESS__SAMPLING_STRATEGY__UNIFORM;
|
||||
mSamplingStrategy = SAMPLING_STRATEGY_UNIFORM;
|
||||
resampleAppOpForPackageLocked(packageNames.get(
|
||||
ThreadLocalRandom.current().nextInt(packageNames.size())));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user