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

Commit da70c86b authored by Jun Lan's avatar Jun Lan Committed by Android (Google) Code Review
Browse files

Merge "Replace HashMap with ArrayMap for better performance" into main

parents 3c0bccee b0f9489a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.annotation.Nullable;
import android.content.Context;
import android.os.BadParcelableException;
import android.os.Bundle;
import android.util.ArrayMap;
import android.util.Log;

import androidx.annotation.VisibleForTesting;
@@ -35,7 +36,6 @@ import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.CardPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -65,7 +65,7 @@ public class BatteryTipPreferenceController extends BasePreferenceController {

    public BatteryTipPreferenceController(Context context, String preferenceKey) {
        super(context, preferenceKey);
        mBatteryTipMap = new HashMap<>();
        mBatteryTipMap = new ArrayMap<>();
        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
        mNeedUpdate = true;
    }
+3 −4
Original line number Diff line number Diff line
@@ -18,9 +18,9 @@ package com.android.settings.fuelgauge.batterytip.tips;

import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.res.Resources;
import android.icu.text.ListFormatter;
import android.os.Parcel;
import android.util.ArrayMap;

import androidx.annotation.VisibleForTesting;

@@ -31,7 +31,6 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.utils.StringUtil;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@@ -66,7 +65,7 @@ public class RestrictAppTip extends BatteryTip {
        final CharSequence appLabel = num > 0 ? Utils.getApplicationLabel(context,
                mRestrictAppList.get(0).packageName) : "";

        Map<String, Object> arguments = new HashMap<>();
        Map<String, Object> arguments = new ArrayMap<>();
        arguments.put("count", num);
        arguments.put("label", appLabel);
        return mState == StateType.HANDLED
@@ -84,7 +83,7 @@ public class RestrictAppTip extends BatteryTip {
        final int resId = mState == StateType.HANDLED
                ? R.string.battery_tip_restrict_handled_summary
                : R.string.battery_tip_restrict_summary;
        Map<String, Object> arguments = new HashMap<>();
        Map<String, Object> arguments = new ArrayMap<>();
        arguments.put("count", num);
        arguments.put("label", appLabel);
        return StringUtil.getIcuPluralsString(context, arguments, resId);
+4 −4
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.os.UserManager;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Log;
import android.util.Pair;

@@ -33,7 +34,6 @@ import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settingslib.utils.StringUtil;

import java.util.Comparator;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

@@ -43,14 +43,14 @@ public class BatteryDiffEntry {

    static Locale sCurrentLocale = null;
    // Caches app label and icon to improve loading performance.
    static final Map<String, BatteryEntry.NameAndIcon> sResourceCache = new HashMap<>();
    static final Map<String, BatteryEntry.NameAndIcon> sResourceCache = new ArrayMap<>();

    // Caches package name and uid to improve loading performance.
    static final Map<String, Integer> sPackageNameAndUidCache = new HashMap<>();
    static final Map<String, Integer> sPackageNameAndUidCache = new ArrayMap<>();

    // Whether a specific item is valid to launch restriction page?
    @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
    static final Map<String, Boolean> sValidForRestriction = new HashMap<>();
    static final Map<String, Boolean> sValidForRestriction = new ArrayMap<>();

    /** A comparator for {@link BatteryDiffEntry} based on the sorting key. */
    static final Comparator<BatteryDiffEntry> COMPARATOR =
+2 −2
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.os.UidBatteryConsumer;
import android.os.UserBatteryConsumer;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.ArrayMap;
import android.util.DebugUtils;
import android.util.Log;

@@ -41,7 +42,6 @@ import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settingslib.Utils;

import java.util.Comparator;
import java.util.HashMap;
import java.util.Locale;

/**
@@ -90,7 +90,7 @@ public class BatteryEntry {
                    BatteryConsumer.POWER_COMPONENT_ANY, BatteryConsumer.PROCESS_STATE_CACHED),
    };

    static final HashMap<String, UidToDetail> sUidCache = new HashMap<>();
    static final ArrayMap<String, UidToDetail> sUidCache = new ArrayMap<>();

    static Locale sCurrentLocale = null;

+2 −2
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.Log;
import android.view.View;
@@ -50,7 +51,6 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
import com.android.settingslib.widget.FooterPreference;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -75,7 +75,7 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
    private final Handler mHandler = new Handler(Looper.getMainLooper());

    @VisibleForTesting
    final Map<String, Preference> mPreferenceCache = new HashMap<>();
    final Map<String, Preference> mPreferenceCache = new ArrayMap<>();

    private int mSpinnerPosition;
    private String mSlotTimestamp;
Loading