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

Commit 9caf145f authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 14095642 from 0129624d to 25Q4-release

Change-Id: Ia0b37448eef33d8e42b952311bbc9ffa7dcd157c
parents 820f67ae 0129624d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -44321,6 +44321,7 @@ package android.telecom {
    method public final void cancelCall();
    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
    method public abstract void onPlaceCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
    method @FlaggedApi("com.android.server.telecom.flags.send_original_number_on_place_call") public void onPlaceCall(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
    method public void onRedirectionTimeout();
    method public final boolean onUnbind(@NonNull android.content.Intent);
    method public final void placeCallUnmodified();
@@ -48993,6 +48994,7 @@ package android.telephony.ims {
    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") public boolean getFlagRegistrationTypeEmergency();
    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") public boolean getFlagVirtualRegistrationForEmergencyCall();
    method @FlaggedApi("com.android.internal.telephony.flags.pcscf_address") @Nullable public String getPcscfAddress();
    method @Nullable public android.telephony.ims.SipDetails getSipDetails();
    method public int getTransportType();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
+1 −1
Original line number Diff line number Diff line
@@ -12186,7 +12186,6 @@ package android.os {
    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
    field public static final int REMOVE_RESULT_ALREADY_BEING_REMOVED = 2; // 0x2
    field public static final int REMOVE_RESULT_DEFERRED = 1; // 0x1
    field @FlaggedApi("android.multiuser.disallow_removing_last_admin_user") public static final int REMOVE_RESULT_ERROR_LAST_ADMIN_USER = -6; // 0xfffffffa
    field public static final int REMOVE_RESULT_ERROR_MAIN_USER_PERMANENT_ADMIN = -5; // 0xfffffffb
    field public static final int REMOVE_RESULT_ERROR_SYSTEM_USER = -4; // 0xfffffffc
    field public static final int REMOVE_RESULT_ERROR_UNKNOWN = -1; // 0xffffffff
@@ -17802,6 +17801,7 @@ package android.telephony.ims {
    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFlagRegistrationTypeEmergency();
    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFlagVirtualRegistrationForEmergencyCall();
    method @FlaggedApi("com.android.internal.telephony.flags.pcscf_address") @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setPcscfAddress(@NonNull String);
    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setSipDetails(@NonNull android.telephony.ims.SipDetails);
  }
+5 −1
Original line number Diff line number Diff line
@@ -1051,6 +1051,10 @@ package android.content {
    field public static final String TEST_NETWORK_SERVICE = "test_network";
  }

  public static final class Context.BindServiceFlags {
    method @FlaggedApi("android.content.flags.enable_update_service_bindings") public long getValue();
  }

  public class ContextWrapper extends android.content.Context {
    method public int getDisplayId();
    method public void updateDisplay(int);
@@ -2678,7 +2682,7 @@ package android.os {
  }

  public class UserManager {
    method @FlaggedApi("android.os.allow_private_profile") @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean canAddPrivateProfile();
    method @Deprecated @FlaggedApi("android.multiuser.consistent_max_users") @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean canAddPrivateProfile();
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createProfileForUser(@Nullable String, @NonNull String, int, int, @Nullable String[]);
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createRestrictedProfile(@Nullable String);
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createUser(@Nullable String, @NonNull String, int);
+11 −8
Original line number Diff line number Diff line
@@ -195,6 +195,7 @@ import android.system.ErrnoException;
import android.telephony.TelephonyFrameworkInitializer;
import android.util.AndroidRuntimeException;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.DisplayMetrics;
import android.util.EventLog;
import android.util.Log;
@@ -246,7 +247,6 @@ import com.android.internal.os.BackgroundThread;
import com.android.internal.os.BinderCallsStats;
import com.android.internal.os.BinderInternal;
import com.android.internal.os.DebugStore;
import com.android.internal.os.JniStringCache;
import com.android.internal.os.RuntimeInit;
import com.android.internal.os.SafeZipPathValidatorCallback;
import com.android.internal.os.SomeArgs;
@@ -295,6 +295,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TimeZone;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicInteger;
@@ -1954,7 +1955,6 @@ public final class ActivityThread extends ClientTransactionHandler
            }

            pw.println(" ");
            JniStringCache.dump(pw);
        }

        @NeverCompile
@@ -7132,8 +7132,8 @@ public final class ActivityThread extends ClientTransactionHandler
            return;
        }
        mLastReportedDeviceId = deviceId;
        ArrayList<Context> nonUIContexts = new ArrayList<>();
        // Update Application and Service contexts with implicit device association.
        final Set<Context> nonUIContexts = new ArraySet<>();
        // Update non UI contexts with implicit device association.
        // UI Contexts are able to derived their device Id association from the display.
        synchronized (mResourcesManager) {
            final int numApps = mAllApplications.size();
@@ -7149,6 +7149,13 @@ public final class ActivityThread extends ClientTransactionHandler
                }
            }
        }
        synchronized (mProviderMap) {
            final int numContentProviders = mLocalProviders.size();
            for (int i = 0; i < numContentProviders; i++) {
                nonUIContexts.add(mLocalProviders.valueAt(i).mLocalProvider.getContext());
            }
        }

        for (Context context : nonUIContexts) {
            try {
                context.updateDeviceId(deviceId);
@@ -7693,10 +7700,6 @@ public final class ActivityThread extends ClientTransactionHandler
        }
        if (DEBUG_MEMORY_TRIM) Slog.v(TAG, "Trimming memory to level: " + level);

        if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) {
            JniStringCache.clear();
        }

        try {
            if (skipBgMemTrimOnFgApp()
                    && mLastProcessState <= ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND
+21 −38
Original line number Diff line number Diff line
@@ -404,35 +404,24 @@ public final class NotificationChannel implements Parcelable {
        mDeletedTime = in.readLong();
        mImportanceLockedDefaultApp = in.readBoolean();

        // Add new fields above this line and not after vibration effect! When
        // notif_channel_estimate_effect_size is true, we use parcel size to detect whether the
        // vibration effect might be too large to handle, so this must remain at the end lest any
        // following fields cause the data to get incorrectly dropped.
        // Add new fields above this line and not after vibration effect! We use parcel size to
        // detect whether the vibration effect might be too large to handle, so this must remain at
        // the end lest any following fields cause the data to get incorrectly dropped.
        mVibrationPattern = in.createLongArray();
        if (mVibrationPattern != null && mVibrationPattern.length > MAX_VIBRATION_LENGTH) {
            mVibrationPattern = Arrays.copyOf(mVibrationPattern, MAX_VIBRATION_LENGTH);
        }
        boolean largeEffect = false;
        if (Flags.notifChannelEstimateEffectSize()) {
        // Note that we must check the length of remaining data in the parcel before reading in
        // the data.
            largeEffect = (in.dataAvail() > MAX_SERIALIZED_VIBRATION_LENGTH);
        }
        boolean largeEffect = (in.dataAvail() > MAX_SERIALIZED_VIBRATION_LENGTH);
        if (Flags.notificationChannelVibrationEffectApi()) {
            mVibrationEffect =
                    in.readInt() != 0 ? VibrationEffect.CREATOR.createFromParcel(in) : null;
            if (Flags.notifChannelCropVibrationEffects() && mVibrationEffect != null) {
                if (Flags.notifChannelEstimateEffectSize()) {
            if (mVibrationEffect != null && largeEffect) {
                // Try trimming the effect if the remaining parcel size is large. If trimming is
                // not applicable for the effect, rather than serializing to XML (expensive) to
                // check the exact serialized length, we just reject the effect.
                    if (largeEffect) {
                        mVibrationEffect = mVibrationEffect.cropToLengthOrNull(
                                MAX_VIBRATION_LENGTH);
                    }
                } else {
                    mVibrationEffect = getTrimmedVibrationEffect(mVibrationEffect);
                }
                mVibrationEffect = mVibrationEffect.cropToLengthOrNull(MAX_VIBRATION_LENGTH);
            }
        }
    }
@@ -751,11 +740,9 @@ public final class NotificationChannel implements Parcelable {
    public void setVibrationPattern(long[] vibrationPattern) {
        this.mVibrationEnabled = vibrationPattern != null && vibrationPattern.length > 0;
        this.mVibrationPattern = vibrationPattern;
        if (Flags.notifChannelCropVibrationEffects()) {
        if (vibrationPattern != null && vibrationPattern.length > MAX_VIBRATION_LENGTH) {
            this.mVibrationPattern = Arrays.copyOf(vibrationPattern, MAX_VIBRATION_LENGTH);
        }
        }
        if (Flags.notificationChannelVibrationEffectApi()) {
            try {
                this.mVibrationEffect =
@@ -802,7 +789,7 @@ public final class NotificationChannel implements Parcelable {
    public void setVibrationEffect(@Nullable VibrationEffect effect) {
        this.mVibrationEnabled = effect != null;
        this.mVibrationEffect = effect;
        if (Flags.notifChannelCropVibrationEffects() && effect != null) {
        if (effect != null) {
            long[] pattern = effect.computeCreateWaveformOffOnTimingsOrNull();
            if (pattern != null) {
                // If this effect has an equivalent pattern, AND the pattern needs to be truncated
@@ -821,9 +808,8 @@ public final class NotificationChannel implements Parcelable {
                this.mVibrationPattern = null;
            }
        } else {
            this.mVibrationPattern =
                    mVibrationEffect == null
                            ? null : mVibrationEffect.computeCreateWaveformOffOnTimingsOrNull();
            // effect is set to null, so also set pattern to null.
            this.mVibrationPattern = null;
        }
    }

@@ -1269,8 +1255,7 @@ public final class NotificationChannel implements Parcelable {
                // Restore the effect only if it is not null. This allows to avoid undoing a
                // `setVibrationPattern` call above, if that was done with a non-null pattern
                // (e.g. back up from a version that did not support `setVibrationEffect`), or
                // when notif_channel_crop_vibration_effects is true, if there is an equivalent
                // vibration pattern available.
                // if there is an equivalent vibration pattern available.
                setVibrationEffect(vibrationEffect);
            }
        }
@@ -1467,13 +1452,11 @@ public final class NotificationChannel implements Parcelable {
        if (getVibrationPattern() != null) {
            out.attribute(null, ATT_VIBRATION, longArrayToString(getVibrationPattern()));
        }
        if (getVibrationEffect() != null) {
            if (!Flags.notifChannelCropVibrationEffects() || getVibrationPattern() == null) {
                // When notif_channel_crop_vibration_effects is on, only serialize the vibration
                // effect if we do not already have an equivalent vibration pattern.
        if (getVibrationEffect() != null && getVibrationPattern() == null) {
            // Only serialize the vibration effect if we do not already have an equivalent
            // vibration pattern.
            out.attribute(null, ATT_VIBRATION_EFFECT, vibrationToString(getVibrationEffect()));
        }
        }
        if (getUserLockedFields() != 0) {
            out.attributeInt(null, ATT_USER_LOCKED, getUserLockedFields());
        }
Loading