Add Auto Revoke log to the App Info page
Test: manual Bug: 154650244 Change-Id: Ibc944ce72d176204cc20c6d0460bf5efe6f7a878
This commit is contained in:
@@ -16,6 +16,10 @@
|
||||
|
||||
package com.android.settings.applications.appinfo;
|
||||
|
||||
import static com.android.settings.core.instrumentation.SettingsStatsLog.AUTO_REVOKED_APP_INTERACTION;
|
||||
import static com.android.settings.core.instrumentation.SettingsStatsLog.AUTO_REVOKED_APP_INTERACTION__ACTION__OPEN_IN_SETTINGS;
|
||||
import static com.android.settings.core.instrumentation.SettingsStatsLog.AUTO_REVOKED_APP_INTERACTION__ACTION__REMOVE_IN_SETTINGS;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
@@ -52,6 +56,7 @@ import com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminAd
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.core.instrumentation.SettingsStatsLog;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||
@@ -118,10 +123,12 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|
||||
private RestrictedLockUtils.EnforcedAdmin mAppsControlDisallowedAdmin;
|
||||
private PreferenceScreen mScreen;
|
||||
|
||||
private long mSessionId;
|
||||
private boolean mUpdatedSysApp = false;
|
||||
private boolean mListeningToPackageRemove = false;
|
||||
private boolean mFinishing = false;
|
||||
private boolean mAppsControlDisallowedBySystem;
|
||||
private boolean mAccessedFromAutoRevoke;
|
||||
|
||||
public AppButtonsPreferenceController(SettingsActivity activity,
|
||||
InstrumentedPreferenceFragment fragment,
|
||||
@@ -149,6 +156,8 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|
||||
mRequestUninstall = requestUninstall;
|
||||
mRequestRemoveDeviceAdmin = requestRemoveDeviceAdmin;
|
||||
mAppLaunchIntent = mPm.getLaunchIntentForPackage(mPackageName);
|
||||
mSessionId = activity.getIntent().getLongExtra(Intent.ACTION_AUTO_REVOKE_PERMISSIONS, 0);
|
||||
mAccessedFromAutoRevoke = mSessionId != 0;
|
||||
|
||||
if (packageName != null) {
|
||||
mAppEntry = mState.getEntry(packageName, mUserId);
|
||||
@@ -202,6 +211,13 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mAccessedFromAutoRevoke) {
|
||||
|
||||
Log.i(TAG, "sessionId: " + mSessionId + " uninstalling " + mPackageName
|
||||
+ " with uid " + getUid() + ", reached from auto revoke");
|
||||
SettingsStatsLog.write(AUTO_REVOKED_APP_INTERACTION, mSessionId, getUid(),
|
||||
mPackageName, AUTO_REVOKED_APP_INTERACTION__ACTION__REMOVE_IN_SETTINGS);
|
||||
}
|
||||
final String packageName = mAppEntry.info.packageName;
|
||||
// Uninstall
|
||||
if (mDpm.packageHasActiveAdmins(mPackageInfo.packageName)) {
|
||||
@@ -701,10 +717,28 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|
||||
|
||||
private void launchApplication() {
|
||||
if (mAppLaunchIntent != null) {
|
||||
if (mAccessedFromAutoRevoke) {
|
||||
|
||||
Log.i(TAG, "sessionId: " + mSessionId + " uninstalling " + mPackageName
|
||||
+ " with uid " + getUid() + ", reached from auto revoke");
|
||||
SettingsStatsLog.write(AUTO_REVOKED_APP_INTERACTION, mSessionId, getUid(),
|
||||
mPackageName, AUTO_REVOKED_APP_INTERACTION__ACTION__OPEN_IN_SETTINGS);
|
||||
}
|
||||
mContext.startActivityAsUser(mAppLaunchIntent, new UserHandle(mUserId));
|
||||
}
|
||||
}
|
||||
|
||||
private int getUid() {
|
||||
int uid = -1;
|
||||
if (mPackageInfo == null) {
|
||||
retrieveAppEntry();
|
||||
}
|
||||
if (mPackageInfo != null) {
|
||||
uid = mPackageInfo.applicationInfo.uid;
|
||||
}
|
||||
return uid;
|
||||
}
|
||||
|
||||
private boolean isInstantApp() {
|
||||
return mAppEntry != null && AppUtils.isInstant(mAppEntry.info);
|
||||
}
|
||||
|
Reference in New Issue
Block a user