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

Commit 03c1770c authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6680390 from f65210f9 to rvc-release

Change-Id: I2524a6264588502cee36df4e6309780e7f4cc1fe
parents 3761f8c3 f65210f9
Loading
Loading
Loading
Loading
+32 −19
Original line number Diff line number Diff line
@@ -22,41 +22,54 @@ import android.view.inputmethod.InlineSuggestionsRequest;
import com.android.internal.view.IInlineSuggestionsResponseCallback;

/**
 * Binder interface for the IME service to send an inline suggestion request to the system.
 * Binder interface for the IME service to send {@link InlineSuggestionsRequest} or notify other IME
 * service events to the system.
 * {@hide}
 */
oneway interface IInlineSuggestionsRequestCallback {
    // Indicates that the current IME does not support inline suggestion.
    /** Indicates that the current IME does not support inline suggestion. */
    void onInlineSuggestionsUnsupported();

    // Sends the inline suggestions request from IME to Autofill. Calling this method indicates
    // that the IME input is started on the view corresponding to the request.
    /**
     * Sends the inline suggestions request from IME to Autofill. Calling this method indicates
     * that the IME input is started on the view corresponding to the request.
     */
    void onInlineSuggestionsRequest(in InlineSuggestionsRequest request,
            in IInlineSuggestionsResponseCallback callback);

    // Signals that {@link android.inputmethodservice.InputMethodService
    //  #onStartInput(EditorInfo, boolean)} is called on the given focused field.
    /**
     * Signals that {@link android.inputmethodservice.InputMethodService
     * #onStartInput(EditorInfo, boolean)} is called on the given focused field.
     */
    void onInputMethodStartInput(in AutofillId imeFieldId);

    // Signals that {@link android.inputmethodservice.InputMethodService
    //  #dispatchOnShowInputRequested(int, boolean)} is called and shares the call result.
    //  The true value of {@code requestResult} means the IME is about to be shown, while
    //  false value means the IME will not be shown.
    /**
     * Signals that {@link android.inputmethodservice.InputMethodService
     * #dispatchOnShowInputRequested(int, boolean)} is called and shares the call result.
     * The true value of {@code requestResult} means the IME is about to be shown, while
     * false value means the IME will not be shown.
     */
    void onInputMethodShowInputRequested(boolean requestResult);

    // Signals that {@link android.inputmethodservice.InputMethodService
    //  #onStartInputView(EditorInfo, boolean)} is called on the field specified by the earlier
    //  {@link #onInputMethodStartInput(AutofillId)}.
    /**
     * Signals that {@link android.inputmethodservice.InputMethodService
     * #onStartInputView(EditorInfo, boolean)} is called on the field specified by the earlier
     * {@link #onInputMethodStartInput(AutofillId)}.
     */
    void onInputMethodStartInputView();

    // Signals that {@link android.inputmethodservice.InputMethodService
    //  #onFinishInputView(boolean)} is called on the field specified by the earlier
    //  {@link #onInputMethodStartInput(AutofillId)}.
    /**
     * Signals that {@link android.inputmethodservice.InputMethodService
     * #onFinishInputView(boolean)} is called on the field specified by the earlier
     * {@link #onInputMethodStartInput(AutofillId)}.
     */
    void onInputMethodFinishInputView();

    // Signals that {@link android.inputmethodservice.InputMethodService
    //  #onFinishInput()} is called on the field specified by the earlier
    //  {@link #onInputMethodStartInput(AutofillId)}.
    /**
     * Signals that {@link android.inputmethodservice.InputMethodService
     * #onFinishInput()} is called on the field specified by the earlier
     * {@link #onInputMethodStartInput(AutofillId)}.
     */
    void onInputMethodFinishInput();

    // Indicates that the current IME changes inline suggestion session.
+17 −0
Original line number Diff line number Diff line
@@ -80,6 +80,22 @@ public class KeyButtonDrawable extends Drawable {
    private final Paint mShadowPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
    private final ShadowDrawableState mState;
    private AnimatedVectorDrawable mAnimatedDrawable;
    private final Callback mAnimatedDrawableCallback = new Callback() {
        @Override
        public void invalidateDrawable(@NonNull Drawable who) {
            invalidateSelf();
        }

        @Override
        public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) {
            scheduleSelf(what, when);
        }

        @Override
        public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) {
            unscheduleSelf(what);
        }
    };

    public KeyButtonDrawable(Drawable d, @ColorInt int lightColor, @ColorInt int darkColor,
            boolean horizontalFlip, Color ovalBackgroundColor) {
@@ -97,6 +113,7 @@ public class KeyButtonDrawable extends Drawable {
        }
        if (canAnimate()) {
            mAnimatedDrawable = (AnimatedVectorDrawable) mState.mChildState.newDrawable().mutate();
            mAnimatedDrawable.setCallback(mAnimatedDrawableCallback);
            setDrawableBounds(mAnimatedDrawable);
        }
    }
+2 −15
Original line number Diff line number Diff line
@@ -150,8 +150,6 @@ class AlarmManagerService extends SystemService {

    // TODO (b/157782538): Turn off once bug is fixed.
    static final boolean DEBUG_PER_UID_LIMIT = true;
    // TODO (b/157782538): Turn off once bug is fixed.
    static final boolean WARN_SYSTEM_ON_ALARM_LIMIT = true;

    static final boolean RECORD_ALARMS_IN_HISTORY = true;
    static final boolean RECORD_DEVICE_IDLE_ALARMS = false;
@@ -1774,19 +1772,8 @@ class AlarmManagerService extends SystemService {
                        "Maximum limit of concurrent alarms " + mConstants.MAX_ALARMS_PER_UID
                                + " reached for uid: " + UserHandle.formatUid(callingUid)
                                + ", callingPackage: " + callingPackage;

                if (WARN_SYSTEM_ON_ALARM_LIMIT && UserHandle.isCore(callingUid)) {
                    final StringWriter logWriter = new StringWriter();
                    final PrintWriter pw = new PrintWriter(logWriter);
                    pw.println(errorMsg);
                    pw.println("Next 20 alarms for " + callingUid + ":");
                    dumpUpcomingNAlarmsForUid(pw, callingUid, 20);
                    pw.flush();
                    Slog.wtf(TAG, logWriter.toString());
                } else {
                Slog.w(TAG, errorMsg);
                }
                if (DEBUG_PER_UID_LIMIT) {
                if (DEBUG_PER_UID_LIMIT && UserHandle.isCore(callingUid)) {
                    logAllAlarmsForUidLocked(callingUid);
                }
                throw new IllegalStateException(errorMsg);
+1 −1
Original line number Diff line number Diff line
@@ -6058,7 +6058,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                                mPendingStartActivityUids.isPendingTopPid(pr.uid, pids[i]);
                    states[i] = isPendingTop ? PROCESS_STATE_TOP : pr.getCurProcState();
                    if (scores != null) {
                        scores[i] = isPendingTop ? ProcessList.FOREGROUND_APP_ADJ : pr.curAdj;
                        scores[i] = isPendingTop ? (ProcessList.FOREGROUND_APP_ADJ - 1) : pr.curAdj;
                    }
                } else {
                    states[i] = PROCESS_STATE_NONEXISTENT;
+2 −1
Original line number Diff line number Diff line
@@ -436,11 +436,12 @@ class SoundEffectsHelper {
                    onUnloadSoundEffects();
                    break;
                case MSG_PLAY_EFFECT:
                    final int effect = msg.arg1, volume = msg.arg2;
                    onLoadSoundEffects(new OnEffectsLoadCompleteHandler() {
                        @Override
                        public void run(boolean success) {
                            if (success) {
                                onPlaySoundEffect(msg.arg1 /*effect*/, msg.arg2 /*volume*/);
                                onPlaySoundEffect(effect, volume);
                            }
                        }
                    });
Loading