Snap for 7775214 from 36072e86ef to sc-qpr1-release

Change-Id: Ie12276f158e3bfa7cfca29373db69566b26c04c0
This commit is contained in:
Android Build Coastguard Worker
2021-09-29 01:08:09 +00:00
5 changed files with 55 additions and 8 deletions

View File

@@ -226,7 +226,8 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
uninstallDaIntent.putExtra(DeviceAdminAdd.EXTRA_DEVICE_ADMIN_PACKAGE_NAME,
packageName);
mMetricsFeatureProvider.action(mActivity,
SettingsEnums.ACTION_SETTINGS_UNINSTALL_DEVICE_ADMIN);
SettingsEnums.ACTION_SETTINGS_UNINSTALL_DEVICE_ADMIN,
getPackageNameForMetric());
mFragment.startActivityForResult(uninstallDaIntent, mRequestRemoveDeviceAdmin);
return;
}
@@ -253,7 +254,8 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
mActivity,
mAppEntry.info.enabled
? SettingsEnums.ACTION_SETTINGS_DISABLE_APP
: SettingsEnums.ACTION_SETTINGS_ENABLE_APP);
: SettingsEnums.ACTION_SETTINGS_ENABLE_APP,
getPackageNameForMetric());
AsyncTask.execute(new DisableChangerRunnable(mPm, mAppEntry.info.packageName,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT));
}
@@ -270,7 +272,9 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
@Override
public void onClick(View v) {
mMetricsFeatureProvider.action(
mActivity, SettingsEnums.ACTION_APP_INFO_FORCE_STOP);
mActivity,
SettingsEnums.ACTION_APP_INFO_FORCE_STOP,
getPackageNameForMetric());
// force stop
if (mPm.isPackageStateProtected(mAppEntry.info.packageName, mUserId)) {
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mActivity,
@@ -757,6 +761,14 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|| AppUtils.isMainlineModule(mPm, mAppEntry.info.packageName));
}
private String getPackageNameForMetric() {
final String packageName =
mAppEntry != null && mAppEntry.info != null
? mAppEntry.info.packageName
: null;
return packageName != null ? packageName : "";
}
/**
* Changes the status of disable/enable for a package
*/

View File

@@ -25,6 +25,7 @@ import android.os.BatteryStatsManager;
import android.os.BatteryUsageStats;
import android.os.SystemClock;
import android.text.format.Formatter;
import android.util.Log;
import android.util.SparseIntArray;
import androidx.annotation.NonNull;
@@ -42,6 +43,7 @@ import com.android.settingslib.utils.PowerUtil;
import com.android.settingslib.utils.StringUtil;
public class BatteryInfo {
private static final String TAG = "BatteryInfo";
public CharSequence chargeLabel;
public CharSequence remainingLabel;
@@ -155,8 +157,15 @@ public class BatteryInfo {
if (batteryUsageStats != null) {
stats = batteryUsageStats;
} else {
stats = context.getSystemService(BatteryStatsManager.class)
.getBatteryUsageStats();
try {
stats = context.getSystemService(BatteryStatsManager.class)
.getBatteryUsageStats();
} catch (RuntimeException e) {
Log.e(TAG, "getBatteryInfo() from getBatteryUsageStats()", e);
// Use default BatteryUsageStats.
stats = new BatteryUsageStats.Builder(
new String[0], /* includePowerModels */ false).build();
}
}
return getBatteryInfo(context, stats, shortString);
}

View File

@@ -74,6 +74,14 @@ public class BatteryOptimizeUtils {
}
public void setAppUsageState(AppUsageState state) {
try {
setAppUsageStateInternal(state);
} catch (Exception e) {
Log.e(TAG, "setAppUsageState() is failed for " + mPackageName, e);
}
}
private void setAppUsageStateInternal(AppUsageState state) {
switch (state) {
case RESTRICTED:
mBatteryUtils.setForceAppStandby(mUid, mPackageName, AppOpsManager.MODE_IGNORED);

View File

@@ -20,6 +20,7 @@ import android.content.Context;
import android.os.BatteryStatsManager;
import android.os.BatteryUsageStats;
import android.os.BatteryUsageStatsQuery;
import android.util.Log;
import com.android.settingslib.utils.AsyncLoaderCompat;
@@ -27,6 +28,7 @@ import com.android.settingslib.utils.AsyncLoaderCompat;
* Loader to get new {@link BatteryUsageStats} in the background
*/
public class BatteryUsageStatsLoader extends AsyncLoaderCompat<BatteryUsageStats> {
private static final String TAG = "BatteryUsageStatsLoader";
private final BatteryStatsManager mBatteryStatsManager;
private final boolean mIncludeBatteryHistory;
@@ -42,7 +44,14 @@ public class BatteryUsageStatsLoader extends AsyncLoaderCompat<BatteryUsageStats
if (mIncludeBatteryHistory) {
builder.includeBatteryHistory();
}
return mBatteryStatsManager.getBatteryUsageStats(builder.build());
try {
return mBatteryStatsManager.getBatteryUsageStats(builder.build());
} catch (RuntimeException e) {
Log.e(TAG, "loadInBackground() for getBatteryUsageStats()", e);
// Use default BatteryUsageStats.
return new BatteryUsageStats.Builder(
new String[0], /* includePowerModels */ false).build();
}
}
@Override

View File

@@ -368,8 +368,17 @@ public class BatteryUtils {
public BatteryInfo getBatteryInfo(final String tag) {
final BatteryStatsManager systemService = mContext.getSystemService(
BatteryStatsManager.class);
final BatteryUsageStats batteryUsageStats = systemService.getBatteryUsageStats(
new BatteryUsageStatsQuery.Builder().includeBatteryHistory().build());
BatteryUsageStats batteryUsageStats;
try {
batteryUsageStats = systemService.getBatteryUsageStats(
new BatteryUsageStatsQuery.Builder().includeBatteryHistory().build());
} catch (RuntimeException e) {
Log.e(TAG, "getBatteryInfo() error for getBatteryUsageStats()", e);
// Use default BatteryUsageStats.
batteryUsageStats =
new BatteryUsageStats.Builder(new String[0], /* includePowerModels */ false)
.build();
}
final long startTime = System.currentTimeMillis();