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

Commit cb92917e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Use fragment context in AppHeaderController"

parents 3e4fd030 abba0407
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ public class AppHeaderController {
        if (appHeader != null) {
            mAppHeader = appHeader;
        } else {
            mAppHeader = LayoutInflater.from(mContext)
            mAppHeader = LayoutInflater.from(fragment.getContext())
                    .inflate(R.layout.app_details, null /* root */);
        }
    }
+11 −7
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.settings.applications;


import android.annotation.IdRes;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
@@ -25,12 +24,10 @@ import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo;
import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.support.v7.preference.Preference;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.android.settings.R;
@@ -44,8 +41,8 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;

import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
@@ -55,8 +52,6 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import java.util.EnumSet;

@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class AppHeaderControllerTest {
@@ -79,7 +74,8 @@ public class AppHeaderControllerTest {
    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mShadowContext = ShadowApplication.getInstance().getApplicationContext();
        mShadowContext = RuntimeEnvironment.application;
        when(mFragment.getContext()).thenReturn(mShadowContext);
        mLayoutInflater = LayoutInflater.from(mShadowContext);
        mInfo = new PackageInfo();
        mInfo.versionName = "1234";
@@ -292,4 +288,12 @@ public class AppHeaderControllerTest {
        assertThat(label.getText()).isEqualTo(
                appHeader.getResources().getString(R.string.install_type_instant));
    }

    @Test
    public void initAppHeaderController_appHeaderNull_useFragmentContext() {
        mController = new AppHeaderController(mContext, mFragment, null);

        // Fragment.getContext() is invoked to inflate the view
        verify(mFragment).getContext();
    }
}
+8 −2
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ public class AppInfoWithHeaderTest {

        PreferenceManager mManager;
        PreferenceScreen mScreen;
        Context mShadowContext;

        public TestFragment() {
            mPm = mock(PackageManager.class);
@@ -90,10 +91,10 @@ public class AppInfoWithHeaderTest {
            mScreen = mock(PreferenceScreen.class);
            mPackageInfo = new PackageInfo();
            mPackageInfo.applicationInfo = new ApplicationInfo();
            mShadowContext = ShadowApplication.getInstance().getApplicationContext();
            ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
                                             (InstantAppDataProvider) (info -> false));
            when(mManager.getContext())
                    .thenReturn(ShadowApplication.getInstance().getApplicationContext());
            when(mManager.getContext()).thenReturn(mShadowContext);
        }

        @Override
@@ -120,6 +121,11 @@ public class AppInfoWithHeaderTest {
        public PreferenceManager getPreferenceManager() {
            return mManager;
        }

        @Override
        public Context getContext() {
            return mShadowContext;
        }
    }

}