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

Commit 5ca43651 authored by Yohei Yukawa's avatar Yohei Yukawa Committed by Android (Google) Code Review
Browse files

Merge "Remove unused content observer from AssistManager."

parents a72c5cf7 528e4684
Loading
Loading
Loading
Loading
+23 −62
Original line number Diff line number Diff line
package com.android.systemui.assist;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityOptions;
import android.app.SearchManager;
@@ -9,9 +11,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.graphics.PixelFormat;
import android.media.AudioAttributes;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
@@ -21,7 +21,6 @@ import android.provider.Settings;
import android.service.voice.VoiceInteractionSession;
import android.util.Log;
import android.view.Gravity;
import android.view.HapticFeedbackConstants;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -33,10 +32,6 @@ import com.android.internal.app.IVoiceInteractionSessionShowCallback;
import com.android.systemui.R;
import com.android.systemui.statusbar.BaseStatusBar;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.phone.PhoneStatusBar;

import java.io.FileDescriptor;
import java.io.PrintWriter;

/**
 * Class to manage everything related to assist in SystemUI.
@@ -58,8 +53,6 @@ public class AssistManager {
    private final BaseStatusBar mBar;
    private final AssistUtils mAssistUtils;

    private ComponentName mAssistComponent;

    private IVoiceInteractionSessionShowCallback mShowCallback =
            new IVoiceInteractionSessionShowCallback.Stub() {

@@ -82,23 +75,11 @@ public class AssistManager {
        }
    };

    private final ContentObserver mAssistSettingsObserver = new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange) {
            updateAssistInfo();
        }
    };

    public AssistManager(BaseStatusBar bar, Context context) {
        mContext = context;
        mBar = bar;
        mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
        mAssistUtils = new AssistUtils(context);

        mContext.getContentResolver().registerContentObserver(
                Settings.Secure.getUriFor(Settings.Secure.ASSISTANT), false,
                mAssistSettingsObserver);
        mAssistSettingsObserver.onChange(false);
        mAssistDisclosure = new AssistDisclosure(context, new Handler());
    }

@@ -123,19 +104,19 @@ public class AssistManager {
    }

    public void startAssist(Bundle args) {
        updateAssistInfo();
        if (mAssistComponent == null) {
        final ComponentName assistComponent = getAssistInfo();
        if (assistComponent == null) {
            return;
        }

        final boolean isService = isAssistantService();
        final boolean isService = assistComponent.equals(getVoiceInteractorComponentName());
        if (!isService || !isVoiceSessionRunning()) {
            showOrb();
            showOrb(assistComponent, isService);
            mView.postDelayed(mHideRunnable, isService
                    ? TIMEOUT_SERVICE
                    : TIMEOUT_ACTIVITY);
        }
        startAssistInternal(args);
        startAssistInternal(args, assistComponent, isService);
    }

    public void hideAssist() {
@@ -161,22 +142,21 @@ public class AssistManager {
        return lp;
    }

    private void showOrb() {
        maybeSwapSearchIcon();
    private void showOrb(@NonNull ComponentName assistComponent, boolean isService) {
        maybeSwapSearchIcon(assistComponent, isService);
        mView.show(true /* show */, true /* animate */);
    }

    private void startAssistInternal(Bundle args) {
        if (mAssistComponent != null) {
            if (isAssistantService()) {
    private void startAssistInternal(Bundle args, @NonNull ComponentName assistComponent,
            boolean isService) {
        if (isService) {
            startVoiceInteractor(args);
        } else {
                startAssistActivity(args);
            }
            startAssistActivity(args, assistComponent);
        }
    }

    private void startAssistActivity(Bundle args) {
    private void startAssistActivity(Bundle args, @NonNull ComponentName assistComponent) {
        if (!mBar.isDeviceProvisioned()) {
            return;
        }
@@ -193,9 +173,7 @@ public class AssistManager {
        if (intent == null) {
            return;
        }
        if (mAssistComponent != null) {
            intent.setComponent(mAssistComponent);
        }
        intent.setComponent(assistComponent);
        intent.putExtras(args);

        if (structureEnabled) {
@@ -243,13 +221,9 @@ public class AssistManager {
        mWindowManager.removeViewImmediate(mView);
    }

    private void maybeSwapSearchIcon() {
        if (mAssistComponent != null) {
            replaceDrawable(mView.getOrb().getLogo(), mAssistComponent, ASSIST_ICON_METADATA_NAME,
                    isAssistantService());
        } else {
            mView.getOrb().getLogo().setImageDrawable(null);
        }
    private void maybeSwapSearchIcon(@NonNull ComponentName assistComponent, boolean isService) {
        replaceDrawable(mView.getOrb().getLogo(), assistComponent, ASSIST_ICON_METADATA_NAME,
                isService);
    }

    public void replaceDrawable(ImageView v, ComponentName component, String name,
@@ -283,28 +257,15 @@ public class AssistManager {
        v.setImageDrawable(null);
    }

    private boolean isAssistantService() {
        return mAssistComponent == null ?
                false : mAssistComponent.equals(getVoiceInteractorComponentName());
    }

    private void updateAssistInfo() {
        mAssistComponent = mAssistUtils.getAssistComponentForUser(UserHandle.USER_CURRENT);
    }

    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
        pw.println("AssistManager state:");
        pw.print("  mAssistComponent="); pw.println(mAssistComponent);
    @Nullable
    private ComponentName getAssistInfo() {
        return mAssistUtils.getAssistComponentForUser(UserHandle.USER_CURRENT);
    }

    public void showDisclosure() {
        mAssistDisclosure.postShow();
    }

    public void onUserSwitched(int newUserId) {
        updateAssistInfo();
    }

    public void onLockscreenShown() {
        mAssistUtils.onLockscreenShown();
    }
+0 −4
Original line number Diff line number Diff line
@@ -2793,9 +2793,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
        if (mNextAlarmController != null) {
            mNextAlarmController.dump(fd, pw, args);
        }
        if (mAssistManager != null) {
            mAssistManager.dump(fd, pw, args);
        }
        if (mSecurityController != null) {
            mSecurityController.dump(fd, pw, args);
        }
@@ -3031,7 +3028,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
        updateNotifications();
        resetUserSetupObserver();
        setControllerUsers();
        mAssistManager.onUserSwitched(newUserId);
        if (mFullscreenUserSwitcher != null) {
            mFullscreenUserSwitcher.onUserSwitched(newUserId);
        }