Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2496d4e authored by Daniel Perez's avatar Daniel Perez
Browse files

Add a setter for the B&R logger in SettingsHelper.

I'm doing this change so that the logger can be accessed in SettingsHelper as an internal variable instead of having to pass it as an argument in all the methods that need logging.

Bug: 379861078 
Change-Id: I34b22b4b267f2376f657efbbb7fee7f37ab0c905
Flag: com.android.server.backup.enable_metrics_settings_backup_agents
Tested: SettingsHelperTest
parent bb356384
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -254,6 +254,7 @@ public class SettingsBackupAgent extends BackupAgentHelper {
        mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        if (com.android.server.backup.Flags.enableMetricsSettingsBackupAgents()) {
            mBackupRestoreEventLogger = this.getBackupRestoreEventLogger();
            mSettingsHelper.setBackupRestoreEventLogger(mBackupRestoreEventLogger);
            numberOfSettingsPerKey = new HashMap<>();
            areAgentMetricsEnabled = true;
        }
@@ -409,8 +410,7 @@ public class SettingsBackupAgent extends BackupAgentHelper {
                    mSettingsHelper
                        .setLocaleData(
                            localeData,
                            size,
                            mBackupRestoreEventLogger);
                            size);
                    break;

                case KEY_WIFI_CONFIG :
@@ -548,8 +548,7 @@ public class SettingsBackupAgent extends BackupAgentHelper {
            if (nBytes > buffer.length) buffer = new byte[nBytes];
            in.readFully(buffer, 0, nBytes);
            mSettingsHelper
                .setLocaleData(
                    buffer, nBytes, mBackupRestoreEventLogger);
                .setLocaleData(buffer, nBytes);

            // Restore older backups performing the necessary migrations.
            if (version < FULL_BACKUP_ADDED_WIFI_NEW) {
+16 −7
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.providers.settings;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.IActivityManager;
import android.app.backup.BackupRestoreEventLogger;
@@ -84,6 +85,7 @@ public class SettingsHelper {
    private Context mContext;
    private AudioManager mAudioManager;
    private TelephonyManager mTelephonyManager;
    @Nullable private BackupRestoreEventLogger mBackupRestoreEventLogger;

    /**
     * A few settings elements are special in that a restore of those values needs to
@@ -741,10 +743,8 @@ public class SettingsHelper {
     *
     * @param data the comma separated BCP-47 language tags in bytes.
     * @param size the size of the data in bytes.
     * @param backupRestoreEventLogger the logger to log the restore event.
     */
    /* package */ void setLocaleData(
        byte[] data, int size, BackupRestoreEventLogger backupRestoreEventLogger) {
    /* package */ void setLocaleData(byte[] data, int size) {
        final Configuration conf = mContext.getResources().getConfiguration();

        // Replace "_" with "-" to deal with older backups.
@@ -771,13 +771,13 @@ public class SettingsHelper {

            am.updatePersistentConfigurationWithAttribution(config, mContext.getOpPackageName(),
                    mContext.getAttributionTag());
            if (Flags.enableMetricsSettingsBackupAgents()) {
                backupRestoreEventLogger
            if (Flags.enableMetricsSettingsBackupAgents() && mBackupRestoreEventLogger != null) {
                mBackupRestoreEventLogger
                    .logItemsRestored(SettingsBackupRestoreKeys.KEY_LOCALE, localeList.size());
            }
        } catch (RemoteException e) {
            if (Flags.enableMetricsSettingsBackupAgents()) {
                backupRestoreEventLogger
            if (Flags.enableMetricsSettingsBackupAgents() && mBackupRestoreEventLogger != null) {
                mBackupRestoreEventLogger
                    .logItemsRestoreFailed(
                        SettingsBackupRestoreKeys.KEY_LOCALE,
                        localeList.size(),
@@ -794,4 +794,13 @@ public class SettingsHelper {
        AudioManager am = new AudioManager(mContext);
        am.reloadAudioSettings();
    }

    /**
     * Sets the backup restore event logger.
     *
     * @param backupRestoreEventLogger the logger to log B&R metrics.
     */
    void setBackupRestoreEventLogger(BackupRestoreEventLogger backupRestoreEventLogger) {
        mBackupRestoreEventLogger = backupRestoreEventLogger;
    }
}