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

Commit 865246dc authored by Jason Monk's avatar Jason Monk
Browse files

Fix crash from AssistManager

It expects to have onConfiguration called at least once, so
make sure it has.

Test: runtest systemui
Bug: 34377261
Change-Id: Iba980b020ef2c175c7ffebedf946edb282be464c
parent fcca000d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import android.os.Message;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.UserHandle;
import android.support.annotation.VisibleForTesting;
import android.telecom.TelecomManager;
import android.text.TextUtils;
import android.util.Log;
@@ -447,7 +448,8 @@ public class NavigationBarFragment extends Fragment implements Callbacks {
        return false;
    }

    private boolean onHomeLongClick(View v) {
    @VisibleForTesting
    boolean onHomeLongClick(View v) {
        if (shouldDisableNavbarGestures()) {
            return false;
        }
@@ -562,6 +564,7 @@ public class NavigationBarFragment extends Fragment implements Callbacks {

    public void setAssistManager(AssistManager assistManager) {
        mAssistManager = assistManager;
        mAssistManager.onConfigurationChanged();
    }

    public void setLightBarController(LightBarController lightBarController) {
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.systemui.tests">

    <uses-permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE" />
    <uses-permission android:name="android.permission.INJECT_EVENTS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
+18 −0
Original line number Diff line number Diff line
@@ -16,12 +16,17 @@ package com.android.systemui.statusbar.phone;

import static org.mockito.Mockito.mock;

import android.content.Context;
import android.view.WindowManager;

import com.android.systemui.FragmentTestCase;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.recents.Recents;
import com.android.systemui.stackdivider.Divider;
import com.android.systemui.statusbar.CommandQueue;

import org.junit.Before;
import org.junit.Test;

public class NavigationBarFragmentTest extends FragmentTestCase {

@@ -37,4 +42,17 @@ public class NavigationBarFragmentTest extends FragmentTestCase {
        mContext.putComponent(Divider.class, mock(Divider.class));
    }

    @Test
    public void testHomeLongPress() {
        mContext.addMockSystemService(Context.WINDOW_SERVICE, mock(WindowManager.class));
        NavigationBarFragment navigationBarFragment = (NavigationBarFragment) mFragment;

        AssistManager assistManager = new AssistManager(mContext.getComponent(PhoneStatusBar.class),
                mContext);
        navigationBarFragment.setAssistManager(assistManager);

        postAndWait(() -> mFragments.dispatchResume());
        navigationBarFragment.onHomeLongClick(navigationBarFragment.getView());
    }

}